PHP: Pliki Cookie
Pliki Cookie zapisywane są na komputerze użytkownika strony internetowej w celu zapamiętania parametrów, o których zdecydował Twórca strony.
Do ustawienia ciasteczek wykorzystamy funkcję:
setcookie(nazwa, wartość, data_ważności, ścieżka, domena, bezpieczne, jedynie_http);
Przykładowe ustawienie ciasteczka:
$nazwa_ciasteczka = "imie"; $wartosc_ciasteczka = "Janusz"; $waznosc_ciasteczka = time() + (60 * 60 * 24 * 30); // 30 dni $zasieg_ciasteczka = "/"; setcookie($nazwa_ciasteczka, $wartosc_ciasteczka, $waznosc_ciasteczka, $zasieg_ciasteczka);
Nazwa ciasteczka jest jednoznacznym oznaczeniem komórki tablicy $_COOKIE, gdzie wczytana i przechowywana będzie jego wartość. Ważność ciasteczka określa, jak długo będzie ono aktywne, zasięg dotyczy miejsca na stronie, skąd będzie do niego dostęp i którego ono dotyczy.
Jeśli chcesz aby ciasteczko dotyczyło wszystkich subdomen technikinformatyk.pl, ustaw domenę na “technikinformatyk.pl”. Bezpieczne / secure ostawione na TRUE określa, że ciasteczko może być transmitowane jedynie poprzez bezpieczne połączenie poprzez protokół HTTPS. Domyślnie FALSE. Httponly ustawione na TRUE określa, że transmisja może odbywać się jedynie poprzez protokół HTTP.
Na powyższym przykładzie ważność ciasteczka została ustawiona na time() – czyli aktualny czas w sekundach liczonych od 1 stycznia 1970, do którego została dodana pewna określona liczba sekund. 60 sekund * 60 minut * 24 godziny * 30 dni daje nam wynik 30 dni ważności ciasteczka. Po tym czasie wygaśnie.
Poniżej przykład odczytania wartości zapisanego ciasteczka, kontynuacja powyższego przykładu:
if(!isset($_COOKIE[$nazwa_ciasteczka])){ echo "Ciasteczko o nazwie '" . $nazwa_ciasteczka . "' nie zostało ustawione!"; }else{ echo "Ciasteczko '" . $nazwa_ciasteczka . "' zostało ustawione!<br>"; echo "Wartość ciasteczka: " . $_COOKIE[$nazwa_ciasteczka]; }
Aby usunąć ciasteczko, należy je ustawić zgodnie z parametrami, z jakimi było tworzone, nadając mu datę ważności z przeszłości:
$nazwa_ciasteczka = "imie"; $wartosc_ciasteczka = "Janusz"; $waznosc_ciasteczka = time() - 3600; $zasieg_ciasteczka = "/"; setcookie($nazwa_ciasteczka, $wartosc_ciasteczka, $waznosc_ciasteczka, $zasieg_ciasteczka);