KWALIFIKACJA INF3 - STYCZEŃ 2024

PYTANIE NR 34.
Język PHP posiada obsługę
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
PHP działa po stronie serwera i ma wbudowane mechanizmy do utrzymywania stanu między żądaniami, m.in. sesje (np. $_SESSION) oraz obsługę ciasteczek (np. setcookie(), $_COOKIE). Zdarzenia myszy/klawiatury i obiekty przeglądarki to typowo obszar JavaScript po stronie klienta.

Pełne wyjaśnienie:

PHP jest językiem wykonywanym po stronie serwera. Oznacza to, że generuje odpowiedź HTTP (np. HTML/JSON) na podstawie żądania klienta, a nie reaguje bezpośrednio na zdarzenia interfejsu użytkownika w przeglądarce.

Sesje w PHP służą do utrzymywania informacji o użytkowniku pomiędzy kolejnymi żądaniami HTTP, mimo że HTTP jest protokołem bezstanowym. W praktyce aplikacja zapisuje dane sesyjne (np. identyfikator użytkownika po zalogowaniu) i kojarzy je z klientem, najczęściej poprzez identyfikator sesji przekazywany w ciasteczku.

Ciasteczka (cookies) to mechanizm przechowywania niewielkich danych po stronie przeglądarki. PHP potrafi je zarówno odczytywać (np. przez tablicę $_COOKIE), jak i ustawiać (np. funkcją setcookie(), która wysyła odpowiedni nagłówek HTTP). Dzięki temu można realizować np. zapamiętanie ustawień użytkownika, zgód, preferowanego języka czy ograniczone "pamiętanie" sesji.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Zdarzenia myszy i zdarzenia klawiatury to typowy model programowania zdarzeniowego w środowisku przeglądarki. Obsługuje je JavaScript, ponieważ to on działa w runtime przeglądarki i ma dostęp do eventów UI.
  • Obiekty przeglądarki (np. obiekty BOM/DOM) również należą do środowiska klienta. PHP nie ma bezpośredniego dostępu do obiektów przeglądarki w momencie renderowania strony, bo wykonuje się wcześniej – na serwerze.

Wskazówka egzaminacyjna: jeśli w odpowiedziach pojawiają się "zdarzenia" lub "obiekty przeglądarki", zwykle chodzi o warstwę klienta (JavaScript). Jeśli mowa o sesji i cookies – to typowe mechanizmy aplikacji serwerowej (PHP).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Sesja w PHP to mechanizm utrzymywania danych użytkownika między kolejnymi żądaniami HTTP. Pozwala np. przechować informację o zalogowaniu, koszyku czy uprawnieniach. Dane zwykle są po stronie serwera, a przeglądarka przechowuje tylko identyfikator sesji.
Ciasteczka (cookies) to małe dane zapisywane w przeglądarce i wysyłane do serwera przy kolejnych żądaniach. PHP może je odczytać przez $_COOKIE oraz ustawić funkcją setcookie(), która wysyła do klienta odpowiedni nagłówek HTTP.
Zdarzenia myszy i klawiatury powstają w przeglądarce, więc wymagają kodu wykonywanego po stronie klienta. PHP działa na serwerze i nie ma bezpośredniego dostępu do interakcji użytkownika w czasie rzeczywistym. Do eventów UI używa się JavaScript.
Sesje stosuje się m.in. do logowania (przechowanie ID użytkownika), kontroli dostępu, koszyka w sklepie, etapów formularza wielostronicowego czy anty-CSRF. To podstawowy sposób "pamiętania" użytkownika mimo bezstanowego charakteru HTTP.
W cookies warto trzymać dane niekrytyczne lub identyfikator, np. preferencje języka, motyw, ustawienia UI. W sesji trzyma się dane wrażliwsze i większe, np. stan logowania czy uprawnienia. Cookies są po stronie klienta, więc nie powinny zawierać tajnych danych.
Tak, technicznie identyfikator sesji można przekazywać inaczej (np. w adresie URL), ale jest to gorsze pod względem bezpieczeństwa i wygody. Najczęściej sesja w PHP korzysta z cookie z ID sesji, bo to standardowy i bezpieczniejszy mechanizm w praktyce.
Jeśli w treści pojawiają się: zdarzenia kliknięcia, klawiatura, manipulacja DOM, obiekty przeglądarki, animacje UI – to typowo JavaScript (klient). Jeśli mowa o sesjach, cookies, bazie danych, generowaniu HTML/JSON i nagłówkach HTTP – to typowo PHP (serwer).
Bezstanowość oznacza, że każde żądanie HTTP jest niezależne i samo w sobie nie "pamięta" poprzednich. Dlatego aplikacje webowe używają mechanizmów utrzymania stanu, takich jak sesje i ciasteczka. PHP wspiera te mechanizmy, aby dało się budować logowanie i personalizację.
Najczęściej myli się warstwę klienta i serwera: wybiera się zdarzenia myszy/klawiatury, bo są "webowe". Inny błąd to traktowanie cookies jak bezpiecznego magazynu na hasła lub dane wrażliwe. Na egzaminie warto pamiętać: UI i eventy = JavaScript; stan logowania = sesja.
Nie wprost. PHP działa na serwerze i nie może bezpośrednio odczytywać obiektów DOM/BOM przeglądarki w momencie interakcji użytkownika. Może jedynie wysłać kod (np. HTML/JS) do przeglądarki oraz przetwarzać dane przysłane w żądaniu (np. formularz, cookies).
info

To pytanie poprawnie rozwiązuje 72% zdających egzamin. średnio łatwe

W praktyce zawodowej kluczowe jest to, że pHP działa po stronie serwera i ma wbudowane mechanizmy do utrzymywania stanu między żądaniami, m.in. sesje (np. $_SESSION) oraz obsługę ciasteczek (np. setcookie(), $_COOKIE).

Źródła:

  • PHP Manual: Sessions - https://www.php.net/manual/en/book.session.php - accessed 2026-02-07
  • PHP Manual: $_SESSION - https://www.php.net/manual/en/reserved.variables.session.php - accessed 2026-02-07
  • PHP Manual: setcookie() - https://www.php.net/manual/en/function.setcookie.php - accessed 2026-02-07

Materiały:

  • Dokumentacja PHP: Sessions (php.net)
  • Dokumentacja PHP: setcookie() i cookies (php.net)
  • Materiały o HTTP cookies i zarządzaniu stanem w aplikacjach webowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego