setcookie() w PHP
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Czym jest setcookie() w PHP?
setcookie() to funkcja PHP służąca do utworzenia lub modyfikacji ciasteczka cookie w przeglądarce użytkownika. Cookie może przechowywać niewielkie dane, np. identyfikator sesji, preferencje językowe albo zapamiętaną wartość formularza.
Podstawowa składnia
setcookie(nazwa, wartosc, czas_wygasniecia);
Najważniejsze argumenty:
- nazwa - nazwa ciasteczka,
- wartosc - wartość zapisywana w cookie,
- czas_wygasniecia - czas ważności podany jako znacznik czasu Unix.
Przykład z egzaminu
Aby utworzyć cookie o nazwie owoce, wartości jabłko, ważne przez jedną godzinę, należy zapisać:
setcookie("owoce", "jabłko", time() + 3600);
Funkcja time() zwraca aktualny czas w sekundach, a 3600 oznacza jedną godzinę, ponieważ:
60 sekund * 60 minut = 3600 sekund
Ważna zasada
setcookie() musi zostać wywołane przed wysłaniem jakiejkolwiek treści HTML do przeglądarki. Oznacza to, że powinno znajdować się przed znacznikiem <!DOCTYPE html> i przed instrukcjami typu echo.
Przykład poprawny:
<?php
setcookie("owoce", "jabłko", time() + 3600);
?>
<!DOCTYPE html>
<html>
<body>Cookie ustawione.</body>
</html>
Odczyt cookie
Po ponownym żądaniu strony wartość cookie można odczytać przez tablicę superglobalną $_COOKIE:
echo $_COOKIE["owoce"];
Trzeba pamiętać, że cookie ustawione funkcją setcookie() zwykle jest dostępne w $_COOKIE dopiero przy następnym odświeżeniu lub wejściu na stronę.