$_COOKIE w PHP
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Czym jest $_COOKIE w PHP?
$_COOKIE to superglobalna tablica PHP, która zawiera wartości ciasteczek przesłanych przez przeglądarkę do serwera w żądaniu HTTP. Dzięki niej skrypt PHP może odczytać dane zapisane wcześniej po stronie klienta, np. identyfikator użytkownika, preferencje językowe lub informację o zaakceptowaniu regulaminu.
Jak odczytać ciasteczko?
Ciasteczko odczytuje się przez podanie jego nazwy jako klucza tablicy:
$nazwa = 'kolor';
if (isset($_COOKIE[$nazwa])) {
echo $_COOKIE[$nazwa];
} else {
echo 'Ciasteczko nie istnieje';
}
Funkcja isset() sprawdza, czy dany element tablicy istnieje i nie ma wartości null. Jest to ważne, ponieważ próba odczytu nieistniejącego ciasteczka może spowodować ostrzeżenie.
Jak ustawić ciasteczko?
Do ustawiania ciasteczek służy funkcja setcookie():
setcookie('kolor', 'niebieski', time() + 3600);
Ten kod ustawia ciasteczko kolor o wartości niebieski na 1 godzinę.
Ważna cecha
Ciasteczko ustawione funkcją setcookie() będzie dostępne w $_COOKIE zwykle dopiero przy następnym żądaniu HTTP, czyli po odświeżeniu lub ponownym wejściu na stronę.
Różnica względem sesji
$_COOKIE przechowuje dane po stronie przeglądarki użytkownika, natomiast $_SESSION przechowuje dane po stronie serwera. Cookies mogą być łatwiej podejrzane lub zmodyfikowane przez użytkownika, dlatego nie należy zapisywać w nich poufnych danych bez odpowiednich zabezpieczeń.