Kod wywołuje funkcję setcookie("user", "John Doe", time() + 3600). W PHP oznacza to przygotowanie nagłówka HTTP Set-Cookie, który przeglądarka zapisze jako ciasteczko o nazwie user i wartości John Doe.
Kluczowy jest trzeci parametr: time() + 3600. Funkcja time() zwraca bieżący czas jako znacznik UNIX (liczbę sekund od epoki). Dodanie 3600 przesuwa moment wygaśnięcia o 3600 sekund, czyli o około 1 godzinę. Po upływie tego czasu przeglądarka powinna traktować cookie jako wygasłe.
Dlaczego pozostałe odpowiedzi są błędne?
- Stwierdzenie o "czasie nieokreślonym" nie pasuje, bo w kodzie wyraźnie podano czas wygaśnięcia (nie jest to cookie bezterminowe ani typowo sesyjne).
- Usuwanie cookie w PHP zwykle realizuje się przez ustawienie tej samej nazwy z datą wygaśnięcia w przeszłości (np. czas mniejszy niż aktualny) oraz zgodnymi parametrami ścieżki/domeny. Tutaj ustawiany jest czas w przyszłości, więc to nie jest usunięcie.
- Sprawdzenie wartości cookie wymagałoby odczytu z $_COOKIE w kolejnym żądaniu. Samo wywołanie setcookie() nie weryfikuje aktualnej wartości po stronie serwera w tej samej chwili.
Wskazówka egzaminacyjna: gdy w parametrze widzisz wyrażenie typu time() + liczba, niemal zawsze chodzi o ustawienie wygaśnięcia po określonej liczbie sekund.