Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe PHP

Słowa kluczowe: Cookie setcookie() w PHP

W języku PHP zamieszczono fragment kodu. Plik cookie utworzony przez to polecenie

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24 * 7));
A. będzie przechowywany na serwerze przez 7 godzin.
B. zostanie usunięty po tygodniu od jego utworzenia.
C. będzie przechowywany na serwerze przez tydzień.
D. zostanie usunięty po 7 godzinach od jego utworzenia.
Poprawna jest odpowiedź: zostanie usunięty po tygodniu od jego utworzenia. Funkcja setcookie() w PHP tworzy ciasteczko wysyłane do przeglądarki użytkownika. Jej trzeci argument określa czas wygaśnięcia jako znacznik czasu Unix, czyli liczbę sekund od 1 stycznia 1970 r. Wyrażenie time() + (3600 × 24 × 7) oznacza bieżący czas powiększony o 604 800 sekund. Ponieważ 3600 sekund to 1 godzina, 24 godziny to doba, a 7 dób to tydzień, cookie wygaśnie po tygodniu. W praktyce taki mechanizm stosuje się np. do zapamiętania preferencji użytkownika. Typowa pułapka: cookie jest przechowywane po stronie przeglądarki, a nie jako plik na serwerze.
W tym fragmencie najważniejszy jest trzeci argument funkcji setcookie(), czyli czas wygaśnięcia cookie. Poprawna odpowiedź brzmi: zostanie usunięty po tygodniu od jego utworzenia. Odpowiedź będzie przechowywany na serwerze przez tydzień błędnie opisuje miejsce przechowywania - cookie znajduje się po stronie klienta, czyli w przeglądarce użytkownika, a serwer otrzymuje je dopiero w kolejnych żądaniach HTTP. Odpowiedź zostanie usunięty po 7 godzinach od jego utworzenia byłaby trafna przy wyrażeniu time() + (3600 × 7), ale tutaj występuje jeszcze mnożenie przez 24, więc chodzi o 7 dni. Odpowiedź będzie przechowywany na serwerze przez 7 godzin łączy dwa błędy: zły czas oraz błędne miejsce przechowywania. Typowy błąd myślowy polega na zauważeniu liczby 7 i powiązaniu jej bezpośrednio z godzinami, z pominięciem całego wyrażenia 3600 × 24 × 7.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.