KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 29.
O zmiennej predefiniowanej
$_POST 
z języka PHP można powiedzieć, że
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
$_POST w PHP to tablica superglobalna zawierająca dane przesłane w treści żądania HTTP metodą POST, typowo z formularza HTML. Nie jest kopią ciasteczek ani "rozszerzeniem" sesji: $_COOKIE przechowuje dane z cookies, a $_SESSION dane sesyjne po stronie serwera.

Pełne wyjaśnienie:

W PHP $_POST jest tablicą superglobalną, która udostępnia dane wysłane do skryptu w żądaniu HTTP metodą POST. Najczęściej są to pola formularza HTML (np. login, hasło, e-mail), ale technicznie mogą to być także dane przesłane przez inne mechanizmy korzystające z POST.

Odpowiedź "zawiera dane przesłane do skryptu z formularza." jest poprawna, ponieważ w typowym scenariuszu formularz z atrybutem method="post" powoduje, że wartości pól trafiają do tablicy $_POST i mogą być odczytane w skrypcie po stronie serwera.

Pozostałe odpowiedzi opisują inne źródła danych lub błędnie mieszają pojęcia:

  • "jest rozszerzoną wersją tablicy $_SESSION." – to nieprawda. $_SESSION dotyczy mechanizmu sesji: dane są przechowywane po stronie serwera (zwykle identyfikator sesji jest utrzymywany w cookie). $_POST jest niezależne i dotyczy bieżącego żądania.
  • "jest kopią tablicy $_COOKIE." – to nieprawda. $_COOKIE zawiera dane przesłane przez przeglądarkę w nagłówku Cookie (wartości wcześniej zapisanych ciasteczek). Nie są one automatycznie kopiowane do $_POST.
  • "zawiera dane bezpośrednio przesłane do skryptu z ciasteczka." – to także nieprawda. Dane z ciasteczek trafiają do $_COOKIE, a nie do $_POST.

Wskazówka egzaminacyjna: skojarz nazwy z miejscem pochodzenia danych: POST = treść żądania, COOKIE = ciasteczka przeglądarki, SESSION = dane sesyjne po stronie serwera. To pomaga szybko odróżnić mechanizmy i uniknąć mylenia ich funkcji.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
$_POST to superglobalna tablica w PHP, która zawiera dane wysłane do skryptu metodą HTTP POST. Najczęściej są to wartości pól formularza (np. login, e-mail) przesłane w treści żądania. Dane te odczytuje się po stronie serwera podczas obsługi formularzy.
Do $_POST trafiają dane przesłane metodą POST (w treści żądania), a do $_GET dane przesłane metodą GET (zwykle w URL jako parametry zapytania). W praktyce POST stosuje się częściej do formularzy z danymi wrażliwymi i większymi payloadami, a GET do filtrów i wyszukiwarek.
$_POST zawiera dane wysyłane w ramach bieżącego żądania metodą POST, natomiast $_COOKIE zawiera wartości ciasteczek dołączonych przez przeglądarkę. Ciasteczka są przechowywane po stronie klienta i wysyłane automatycznie, a POST zależy od tego, co wyśle formularz lub klient HTTP.
$_SESSION służy do przechowywania danych sesyjnych użytkownika po stronie serwera między żądaniami (np. informacja o zalogowaniu). $_POST dotyczy tylko jednego żądania i przenosi dane wejściowe z formularza/POST. To różne mechanizmy: sesja trwa, POST jest jednorazowy.
POST stosuje się, gdy przesyłasz dane, które mają zmienić stan na serwerze (np. rejestracja, logowanie, zapis zamówienia) albo gdy nie chcesz umieszczać parametrów w adresie URL. Wtedy wartości pól formularza będą dostępne w PHP w tablicy $_POST.
Najczęściej sprawdza się metodę żądania i obecność kluczy w $_POST. Praktycznie: isset($_POST['pole']) pozwala ocenić, czy dane przyszły. W debugowaniu używa się też wypisania zawartości tablicy (np. var_dump) w środowisku testowym.
Nie wprost. Pliki przesyłane przez formularz (upload) są obsługiwane w PHP przez tablicę $_FILES. $_POST zawiera zwykłe pola formularza. Dlatego przy zadaniach egzaminacyjnych warto pamiętać: tekst/checkboxy mogą trafić do $_POST, a pliki do $_FILES.
Częste błędy to: użycie złej nazwy pola (brak zgodności z atrybutem name), brak sprawdzenia isset/empty, mylenie GET z POST (formularz ma inną metodę), oraz brak walidacji i filtracji danych wejściowych. Na egzaminie zwracaj uwagę na metodę formularza.
Dane z $_POST pochodzą od użytkownika i nie są zaufane. Bez walidacji i bezpiecznego użycia zapytań (np. parametryzowanych) łatwo o błędy logiki oraz podatności bezpieczeństwa. Walidacja sprawdza format i sens danych, a odpowiednie techniki dostępu do bazy chronią przed atakami.
Przećwicz rozróżnianie $_POST, $_GET, $_COOKIE, $_SESSION i $_FILES na prostych przykładach. Zrób mini-projekt: formularz HTML + skrypt PHP, który odczytuje dane i je waliduje. Ucz się też typowych skojarzeń: POST=formularz, COOKIE=ciasteczka, SESSION=sprzęgnięte z logowaniem.
info

Statystycznie 62% uczniów zna prawidłową odpowiedź. średnie

Według specjalistów z branży: "$_POST w PHP to tablica superglobalna zawierająca dane przesłane w treści żądania HTTP metodą POST, typowo z formularza HTML."

Źródła:

  • PHP Manual – Predefined Variables: $_POST, https://www.php.net/manual/en/reserved.variables.post.php - accessed 2026-03-01
  • PHP Manual – Predefined Variables: $_COOKIE, https://www.php.net/manual/en/reserved.variables.cookies.php - accessed 2026-03-01
  • PHP Manual – Predefined Variables: $_SESSION, https://www.php.net/manual/en/reserved.variables.session.php - accessed 2026-03-01

Materiały:

  • Dokumentacja PHP: rozdział o zmiennych superglobalnych
  • Materiały o protokole HTTP i metodach GET/POST
  • Kursy praktyczne: przetwarzanie formularzy w PHP (walidacja, bezpieczeństwo)

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego