KWALIFIKACJA INF3 - CZERWIEC 2021

PYTANIE NR 9.
Przedstawiony fragment kodu PHP służy do obsługi
Ilustracja przedstawia fragment kodu PHP, który jest częścią skryptu obsługującego formularz.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Obsługa formularza w PHP polega na odebraniu i przetworzeniu danych przesłanych w żądaniu HTTP (np. metodą GET lub POST).
Mechanizmy "ciasteczek" i "sesji" służą do utrzymania stanu, a "baza danych" dotyczy trwałego zapisu i zapytań. W tym zadaniu poprawna jest odpowiedź "formularza."

Pełne wyjaśnienie:

W PHP pojęcie obsługi formularza oznacza przede wszystkim pracę na danych, które użytkownik wysłał z przeglądarki w żądaniu HTTP. Typowy scenariusz to odczyt pól, ich walidacja (np. czy wymagane pola nie są puste, czy e-mail ma poprawny format), a następnie wykonanie dalszej akcji: wyświetlenie komunikatu, wysłanie e-maila, zapis do bazy lub przekierowanie.

Odpowiedź "formularza." jest właściwa, gdy fragment kodu dotyczy odbioru danych wejściowych z żądania (dane przesyłane przez użytkownika). To inny obszar niż utrzymywanie stanu czy operacje na bazie.

Dlaczego pozostałe odpowiedzi nie pasują, gdy kod dotyczy formularza?

  • "ciasteczek." – cookies służą do przechowywania małych danych po stronie klienta i są przekazywane w nagłówkach HTTP. W PHP ich obsługa wiąże się z mechanizmem zapisu/odczytu cookies, a nie z samym pobieraniem pól formularza.
  • "sesji." – sesja służy do przechowywania danych po stronie serwera między kolejnymi żądaniami tego samego użytkownika. Często jest używana razem z formularzami (np. po zalogowaniu), ale to osobny mechanizm: sesja utrzymuje stan, a formularz dostarcza dane wejściowe.
  • "bazy danych." – praca z bazą obejmuje nawiązanie połączenia, przygotowanie i wykonanie zapytań oraz obsługę wyników. Formularz może być źródłem danych do zapisu, lecz samo pobranie i wstępna obsługa danych formularza nie jest tym samym co komunikacja z bazą.

Wskazówka egzaminacyjna: jeżeli fragment kodu dotyczy danych przesyłanych przez użytkownika, najpierw identyfikuj, czy chodzi o dane wejściowe żądania (formularz), mechanizm stanu (cookies/sesja), czy warstwę trwałości (baza danych). To pozwala szybko wybrać właściwą kategorię.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Obsługa formularza to odebranie danych wysłanych z przeglądarki w żądaniu HTTP (np. z pól tekstowych, checkboxów), ich sprawdzenie (walidacja) oraz wykonanie akcji po stronie serwera, np. zapis, wysyłka e-maila lub wyświetlenie komunikatu.
Najczęściej świadczy o tym praca na danych wejściowych żądania (parametry przesłane przez użytkownika) oraz logika typu: odczyt pól, sprawdzanie czy są ustawione, walidacja i reakcja na wysłanie formularza. To inny wzorzec niż typowa obsługa sesji lub bazy.
Dane z formularza są wysyłane w konkretnym żądaniu (np. po kliknięciu "Wyślij"). Cookies są przechowywane w przeglądarce i dołączane automatycznie do kolejnych żądań jako nagłówki. Cookies służą do "pamiętania", a formularz do przekazania danych wejściowych.
Nie zawsze. Formularz można obsłużyć jednorazowo w ramach pojedynczego żądania. Sesja jest potrzebna dopiero wtedy, gdy chcesz przechować dane między kolejnymi żądaniami (np. stan logowania, koszyk zakupów, wieloetapowy formularz). To dwa różne mechanizmy.
Zwykle wtedy, gdy w kodzie widać nawiązywanie połączenia z bazą, przygotowanie zapytań i ich wykonanie lub pobieranie wyników. Sama walidacja i odbiór pól od użytkownika to jeszcze nie "obsługa bazy danych", tylko etap wejścia danych.
Najczęściej: 1) odczyt danych wejściowych, 2) walidacja i sanitizacja, 3) wykonanie logiki biznesowej (np. wysyłka, zapis), 4) przygotowanie odpowiedzi (komunikat/redirect). Na egzaminie zwracaj uwagę na to, który z tych kroków pokazuje kod.
Bo użytkownik (lub skrypt) może wysłać dowolne wartości, także błędne lub złośliwe. Brak walidacji może prowadzić do błędów aplikacji i podatności (np. wstrzyknięć). W kontekście egzaminu ważne jest rozpoznanie, że formularz wymaga kontroli danych przed dalszym użyciem.
To, że formularze często występują razem z sesją (np. logowanie), więc łatwo automatycznie wybrać "sesji". Trzeba rozróżnić: formularz dostarcza dane w jednym żądaniu, a sesja przechowuje stan między żądaniami. Kod może dotyczyć tylko jednego z tych elementów.
Do cookies trafiają małe informacje, które mają być "pamiętane" w przeglądarce, np. preferencje języka, identyfikator sesji lub zgoda na cookies. Dane wymagające trwałości, raportowania i relacji (np. zamówienia, konta) zwykle powinny trafić do bazy danych, nie do cookies.
Ćwicz rozpoznawanie czterech obszarów: formularz (dane wejściowe żądania), cookies (mechanizm po stronie przeglądarki), sesja (stan po stronie serwera) i baza (połączenie/zapytania). Pomaga robić krótkie notatki: "źródło danych → gdzie są przechowywane → jak długo żyją".
info

Około 62% zdających odpowiada poprawnie na to pytanie. średnie

Według specjalistów z branży: "W tym zadaniu poprawna jest odpowiedź "formularza.""

Źródła:

  • PHP Manual: Handling Forms — https://www.php.net/manual/en/tutorial.forms.php (dostęp: 2026-02-27)
  • PHP Manual: setcookie() — https://www.php.net/manual/en/function.setcookie.php (dostęp: 2026-02-27)
  • PHP Manual: Sessions — https://www.php.net/manual/en/book.session.php (dostęp: 2026-02-27)

Materiały:

  • Oficjalna dokumentacja PHP: obsługa formularzy i superglobalne tablice
  • Oficjalna dokumentacja PHP: cookies i funkcja setcookie()
  • Oficjalna dokumentacja PHP: sesje i session_start()

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego