KWALIFIKACJA INF3 - STYCZEŃ 2021 (test 2)

PYTANIE NR 36.
Formularz, którego fragment przedstawiono, został obsłużony w skrypcie PHP. Wskaż prawidłowo zapisane pobranie wartości wprowadzonej do pola edycyjnego.
Ilustracja przedstawia fragment kodu HTML formularza, który jest częścią pytania egzaminacyjnego z kwalifikacji zawodowej
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawny odczyt danych z formularza w PHP polega na użyciu właściwej superglobalnej tablicy oraz poprawnej składni zmiennej. Zapis $name = $_POST['imie']; pobiera wartość pola o nazwie imie przesłaną metodą POST. Pozostałe propozycje zawierają błędy: brak znaku $, brak podkreślenia w $_GET/$_POST lub niepoprawny klucz.

Pełne wyjaśnienie:

W PHP dane wysłane z formularza HTML trafiają do superglobalnych tablic zależnie od metody wysyłki:

  • $_POST – dane przesłane w treści żądania HTTP metodą POST (najczęściej formularze z danymi użytkownika).
  • $_GET – dane przekazane w adresie URL (parametry zapytania po znaku ?), czyli metoda GET.

Jeżeli skrypt ma pobrać wartość wpisaną w polu edycyjnym o nazwie imie, poprawna składnia w PHP wygląda tak: $name = $_POST['imie'];. Zawiera ona wszystkie elementy wymagane przez język: znak $ przy nazwie zmiennej, prawidłową nazwę tablicy superglobalnej z podkreśleniem oraz indeks tablicy zapisany jako łańcuch znaków w cudzysłowie.

Dlaczego pozostałe odpowiedzi są błędne?

  • name = $_GET[imie]; – brakuje znaku $ przed nazwą zmiennej, a indeks imie nie jest ujęty w cudzysłów (w PHP może zostać potraktowany jak stała lub wywoła ostrzeżenie/błąd zależnie od wersji i ustawień).
  • $name = $POST['Imię']; – użyto nieistniejącej superglobalnej tablicy $POST zamiast $_POST; dodatkowo klucz Imię (z wielką literą i polskim znakiem) nie musi odpowiadać atrybutowi name w HTML, który zwykle jest prosty i bez polskich znaków (np. imie).
  • name = GET['imie']; – brakuje znaku $, a GET nie jest poprawną nazwą superglobalnej tablicy (powinno być $_GET).

Wskazówka egzaminacyjna: zawsze sprawdzaj trzy rzeczy naraz: (1) czy jest $ przy zmiennej, (2) czy superglobal ma postać $_POST lub $_GET, (3) czy klucz tablicy jest w cudzysłowie i odpowiada nazwie pola formularza.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
$_POST to superglobalna tablica w PHP zawierająca dane przesłane metodą HTTP POST (zwykle z formularzy). Używa się jej, gdy formularz ma method="post" i chcesz odebrać wartości pól po ich nazwach, np. $_POST['imie'].
$_GET zawiera parametry przekazane w URL (query string), czyli dane wysłane metodą GET. Różnica jest taka, że GET jest widoczny w adresie i ma ograniczenia długości, a POST przesyła dane w treści żądania. Obie tablice odczytuje się podobnie: $_GET['klucz'] lub $_POST['klucz'].
Jeśli formularz wysyła dane metodą POST, użyj zapisu $_POST['imie']. Typowo przypisuje się to do zmiennej: $name = $_POST['imie'];. Gdy formularz używa GET, analogicznie będzie to $name = $_GET['imie'];.
W PHP każda zmienna musi zaczynać się od znaku $. Zapis bez tego znaku nie jest zmienną i spowoduje błąd składni lub niepoprawne działanie. Na egzaminie to częsty "haczyk": nawet poprawne $_POST nie pomoże, jeśli brakuje $ przed nazwą zmiennej.
Tak, w praktyce i w zadaniach egzaminacyjnych klucze tablic asocjacyjnych zapisuje się jako łańcuch znaków, np. $_POST['imie']. Bez cudzysłowów PHP może potraktować nazwę jako stałą, co prowadzi do ostrzeżeń lub błędów oraz obniża czytelność kodu.
Najczęściej stosuje się sprawdzenie isset($_POST['imie']) (dla POST) lub isset($_GET['imie']) (dla GET). Dzięki temu unikasz komunikatów o niezdefiniowanym indeksie i możesz zareagować, gdy formularz nie został wysłany albo pole nie ma wartości.
W PHP poprawne superglobalne tablice mają nazwy z podkreśleniem: $_POST i $_GET. Zapis $POST oznacza zwykłą zmienną o nazwie POST, która nie jest automatycznie wypełniana danymi z żądania. To typowa pułapka w testach.
Najczęstsze błędy to: pomylenie $_POST z $_GET, literówki w nazwie klucza (np. inne wielkości liter), brak $ przy zmiennej, użycie złej nazwy superglobalu (np. $POST), oraz brak sprawdzenia isset() przed odczytem. Warto je szybko "odhaczać" na egzaminie.
POST stosuje się, gdy przesyłasz dane wrażliwe (np. hasła), dłuższe formularze lub gdy nie chcesz, aby dane były widoczne w adresie URL. GET jest wygodny dla filtrów i wyszukiwarek, bo parametry w URL można łatwo kopiować i zapisywać, ale nie nadaje się do poufnych danych.
Ćwicz na krótkich przykładach: formularz HTML z polami name oraz plik PHP, który wypisuje odebrane wartości. Ucz się rozpoznawać metodę GET/POST, poprawny zapis superglobali i typowe literówki. Na egzaminie sprawdzaj składnię: $, podkreślenie w $_POST oraz cudzysłowy w kluczu.
info

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

Eksperci podkreślają: "Poprawny odczyt danych z formularza w PHP polega na użyciu właściwej superglobalnej tablicy oraz poprawnej składni zmiennej."

Źródła:

  • PHP Manual: $_POST — HTTP POST variables, https://www.php.net/manual/en/reserved.variables.post.php (dostęp: 2026-03-01)
  • PHP Manual: $_GET — HTTP GET variables, https://www.php.net/manual/en/reserved.variables.get.php (dostęp: 2026-03-01)
  • PHP Manual: Variables from external sources (User Input), https://www.php.net/manual/en/language.variables.external.php (dostęp: 2026-03-01)

Materiały:

  • Dokumentacja PHP: zmienne superglobalne ($_POST, $_GET)
  • Ćwiczenia: formularz HTML + plik PHP odbierający dane i wyświetlający je
  • Materiały o metodach HTTP i sposobach przesyłania danych (query string vs body)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego