To jest stara wersja strony!
Przetestuj działanie poniższego kodu:
$_COOKIE
przy pierwszym uruchomnieniu,setcookie('ciastko','smaczne'); var_dump($_COOKIE);
Przetestuj działanie poniższego kodu:
define('CIACHO','mojeciasteczko'); if (!setcookie(CIACHO,'dane',time()+10)) echo 'nie moge wysłać ciastka...'; if (isset($_COOKIE[CIACHO])) echo $_COOKIE[CIACHO]; else echo 'brak danych';
Napisz pojedynczy skrypt PHP, który:
Powyższy mechanizm możesz wykorzystać, aby np. dodać do galerii logowanie użytkownika, tak aby nie trzeba było za każdym razem podawać nazwy użytkownika oraz hasła.
Powtórz poprzednie ćwiczenie korzystając z mechanizmu sesji. Możesz wykorzystać poniższy kod.
session_start(); if (isset($_GET['clear'])){ echo 'clear'; unset($_SESSION['moje']); } else { if (!empty($_SESSION['moje'])) { echo $_SESSION['moje']; } else { $_SESSION['moje']='jest'; } }
Skorzystaj z kodu galeri z poprzednich ćwiczeń, biorąc pod uwagę poniższe wymagania.
1.jpg
, 2.jpg
itd., tak aby można było łatwo wyświetlić obrazki w kolejności dodawania.Podpowiedź: nazwa dodawanego obrazka = ilość plików w katalogu z obrazkami + 1, np.:
$ile=count(glob('*.jpg'));
W poniższym kodzie zastąp wartość KLUCZ unikalną w ramach grupy laboratoryjnej liczbą – możesz użyć identyfikatora użytkownika na serwerze (polecenie id
za pomocą terminala).
define('KLUCZ',123456); $sem=sem_get(KLUCZ); if ($sem != FALSE) { echo 'Wejscie do sekcji krytycznej<br>'; $start=time(); sem_acquire($sem); echo 'Jestem w sekcji krytycznej<br>'; /* tutaj kod sekcji krytycznej */ sem_release($sem); echo 'Wyjscie z sekcji krytycznej<br>'; echo 'Czas wykoania: '.(time()-$start).'<br>'; } else {echo 'Problemy z semaforem...<br>';}
Działanie w/w kodu możesz przetestować w poniższy sposób:
.php
na serwerze,Dany jest kod:
echo 'Wejscie do sekcji krytycznej<br>'; $start=time(); $fp = fopen('semafor', 'r+'); if (flock($fp, LOCK_EX)) { echo 'Jestem w sekcji krytycznej<br>'; sleep(5); flock($fp, LOCK_UN); echo 'Wyjscie z sekcji krytycznej<br>'; echo 'Czas wykoania: '.(time()-$start).'<br>'; } else { echo 'Problemy z blokada...<br>';} fclose($fp);
Działanie w/w kodu możesz przetestować w poniższy sposób:
.php
na serwerze,semafor
,