Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. $_COOKIE w PHP

$_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ń.