Strona główna › Pytania INF.03 › Pytanie 1369
INF.03 · pytanie #1369
W aplikacji internetowej komunikat powinien pojawiać się tylko wtedy, gdy dany użytkownik jest na stronie po raz pierwszy. Którą funkcję PHP należy w tym celu zastosować?
- Asession_destroy
- Bsetcookie
- Cdefine
- Dmysqli_change_user
Poprawna odpowiedź: B. setcookie
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Prawidłowo – w tym zadaniu kluczowa jest funkcja setcookie(), bo to właśnie ciasteczka są standardowym mechanizmem do rozpoznawania, czy użytkownik był już wcześniej na danej stronie. W praktyce robi się to tak: przy pierwszym wejściu na stronę sprawdzasz, czy istnieje określone cookie, np. $_COOKIE['first_visit']. Jeśli go nie ma, wyświetlasz komunikat powitalny i ustawiasz ciasteczko za pomocą setcookie('first_visit', '1', time()+3600*24*365). Przy kolejnych wejściach cookie już będzie istniało, więc komunikat się nie pojawi. To jest bardzo typowy wzorzec np. dla banerów informujących o ciasteczkach, komunikatów onboardingowych czy jednorazowych podpowiedzi dla nowych użytkowników. Z mojego doświadczenia w webdevie to najprostsze i najbardziej przenośne rozwiązanie, bo działa niezależnie od sesji i logowania użytkownika – wystarczy przeglądarka z włączonymi cookies. Ważne jest też, żeby pamiętać o tym, że setcookie() musi być wywołane przed wysłaniem jakiegokolwiek outputu (czyli przed jakimkolwiek HTML, echo, BOM itd.), bo ciasteczka są wysyłane w nagłówkach HTTP. W bardziej rozbudowanych projektach często łączy się cookies z innymi mechanizmami (np. sesją czy bazą danych), ale do prostego sprawdzenia „czy użytkownik jest tu pierwszy raz” ciasteczko ustawiane setcookie() to według dobrych praktyk w zupełności wystarcza. Warto też dbać o parametry bezpieczeństwa ciastek (secure, httponly, samesite), szczególnie gdy później używamy tego mechanizmu do czegoś ważniejszego niż zwykły komunikat informacyjny.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.