KWALIFIKACJA INF3 - STYCZEŃ 2023

PYTANIE NR 26.
Aby pobrać dane z formularza HTML, tak aby nie były one widoczne w adresie URL, należy zastosować
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Metoda POST przesyła dane formularza w treści żądania HTTP (request body), więc nie są one dopisywane do adresu URL jako parametry zapytania. Przy metodzie GET wartości trafiają do URL (query string) i są widoczne w pasku adresu oraz łatwiejsze do zapisania/udostępnienia. POST nie oznacza jednak automatycznie "pełnego bezpieczeństwa".

Pełne wyjaśnienie:

W formularzu HTML (element <form>) sposób przekazania danych do serwera określa atrybut method. Najczęściej spotkasz dwie metody: GET i POST.

Odpowiedź "metodę POST." jest właściwa, ponieważ przy POST dane z pól formularza są wysyłane w treści żądania HTTP (tzw. request body). W praktyce oznacza to, że nie pojawiają się one w pasku adresu jako część URL (nie są dopisywane po znaku "?").

Dlaczego pozostałe propozycje są niepoprawne:

  • "metodę GET." – GET koduje parametry w adresie URL (query string). To sprawia, że dane są widoczne w pasku adresu, mogą trafić do historii przeglądarki i są łatwe do skopiowania jako link. To jest przeciwieństwo wymogu z pytania.
  • "jedynie funkcje z biblioteki PDO." – PDO to interfejs do komunikacji z bazą danych po stronie serwera. Nie decyduje o tym, czy dane formularza będą w URL. Najpierw dane muszą dotrzeć do aplikacji (GET/POST), a dopiero potem można je zapisać lub odczytać z bazy.
  • "same kontrolki bez użycia formularza." – same pola (inputy, selecty) nie realizują wysłania danych. Żeby dane zostały przesłane, potrzebujesz mechanizmu formularza (<form> + submit) albo osobnego żądania z JavaScript (np. fetch). Bez tego wartości nie "pobiorą się" na serwer.

Wskazówka egzaminacyjna: zapamiętaj prostą regułę: GET = parametry w adresie, POST = dane w treści żądania. Jednocześnie pamiętaj, że "niewidoczne w URL" nie znaczy automatycznie "bezpieczne" – o poufności decyduje m.in. użycie HTTPS oraz poprawna obsługa i walidacja danych po stronie serwera.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
POST oznacza, że dane formularza są wysyłane w treści żądania HTTP (request body), a nie jako parametry dopisywane do adresu. Dzięki temu wartości nie są widoczne w pasku adresu i zwykle lepiej nadają się do większych lub wrażliwszych danych.
Przy GET przeglądarka koduje pola formularza jako parametry zapytania w URL (część po znaku ?). To ułatwia linkowanie i cache, ale powoduje, że wartości mogą trafić do historii, zakładek i łatwo je skopiować.
Wystarczy użyć atrybutu method, np. <form method="post" ...>. Wtedy po wysłaniu formularza dane będą przesyłane w body żądania. Dodatkowo ustaw action, aby wskazać adres endpointu na serwerze.
Nie. POST tylko nie umieszcza danych w URL. Dane nadal mogą być podejrzane w narzędziach deweloperskich, logach serwera lub przez złośliwe oprogramowanie. O poufności decyduje m.in. HTTPS, poprawna autoryzacja i bezpieczne przechowywanie oraz walidacja danych.
GET często stosuje się do pobierania zasobów i filtrowania wyników, np. wyszukiwarki, paginacji, sortowania czy list produktów. Parametry w URL ułatwiają udostępnienie linku z ustawionymi filtrami i są wygodne, gdy dane nie są wrażliwe.
POST jest lepszy, gdy wysyłasz dane, których nie chcesz w URL (np. hasła), gdy formularz jest duży lub gdy operacja zmienia stan po stronie serwera (np. rejestracja, dodanie rekordu). To pasuje do typowego wzorca: odczyt = GET, zmiana = POST.
Nie. PDO to warstwa dostępu do bazy danych po stronie serwera (zapytania, prepared statements, połączenie). To, czy dane przychodzą w URL (GET) czy w body (POST), zależy od metody HTTP i sposobu wysłania formularza, a nie od biblioteki bazodanowej.
Otwórz DevTools → zakładka Network, wyślij formularz i kliknij żądanie. Zobaczysz metodę (GET/POST) oraz gdzie są dane: przy GET zwykle w URL i "Query String Parameters", a przy POST w "Form Data" lub w request payload.
Pola typu input/select tylko przechowują wartości w DOM. Wysłanie danych wymaga mechanizmu: albo formularza <form> i akcji submit, albo kodu JavaScript, który wykona żądanie (np. fetch/XHR). Bez tego serwer nie dostaje żadnych danych.
Najczęstsze pomyłki to: utożsamienie słowa "pobrać" z metodą GET, mylenie "niewidoczne w URL" z "bezpieczne", oraz wplatanie tematów baz danych (PDO) w pytanie o HTTP. Pomaga zapamiętać: GET = URL, POST = body oraz rozdzielić frontend od backendu.
info

Około 74% zdających odpowiada poprawnie na to pytanie. średnio łatwe

W praktyce zawodowej kluczowe jest to, że metoda POST przesyła dane formularza w treści żądania HTTP (request body), więc nie są one dopisywane do adresu URL jako parametry zapytania.

Źródła:

  • MDN Web Docs: HTML element &lt;form&gt; – atrybut method (GET/POST), https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form (dostęp: 2026-03-02)
  • MDN Web Docs: HTTP request methods – GET i POST, https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods (dostęp: 2026-03-02)
  • WHATWG HTML Living Standard: The form element i form submission (method), https://html.spec.whatwg.org/multipage/forms.html#the-form-element (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja MDN: HTML &lt;form&gt; i atrybut method
  • Dokumentacja MDN: HTTP methods (GET, POST)
  • Ćwiczenia praktyczne: wysłanie formularza GET i POST oraz podgląd różnic w zakładce Network

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego