KWALIFIKACJA INF3 - STYCZEŃ 2022

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 formularza HTML, który jest częścią pytania egzaminacyjnego związanego z kwalifikacją
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawny zapis pobrania wartości z formularza wysłanego metodą POST w PHP wykorzystuje tablicę superglobalną
$_POST
oraz klucz będący nazwą pola (atrybut name), np.
$_POST['imie']
. Pozostałe zapisy zawierają błędy: brak cudzysłowów, zła nazwa tablicy lub brak znaku $_.

Pełne wyjaśnienie:

W PHP dane przesłane z formularza są dostępne w tablicach superglobalnych, z których najczęściej używa się $_POST oraz $_GET. Wybór tablicy zależy od metody wysyłania formularza:

  • POST → odczyt z
    $_POST
  • GET → odczyt z
    $_GET

Dlatego poprawny odczyt wartości wpisanej w pole edycyjne o nazwie imie ma postać $name = $_POST['imie'];. Klucz 'imie' musi odpowiadać dokładnie wartości atrybutu name w formularzu, a w kodzie PHP powinien być zapisany jako łańcuch znaków (w apostrofach lub cudzysłowie).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • $name = $_GET[imie];
    – problemem jest brak cudzysłowów przy kluczu (to nie jest poprawny, jednoznaczny zapis klucza łańcuchowego) oraz użycie
    $_GET
    , które dotyczy metody GET, a nie POST.
  • $name = $POST['Imię'];
    – brakuje znaku podkreślenia w nazwie superglobalnej (
    $_POST
    ), a dodatkowo klucz ma inną postać (wielkość liter i znak diakrytyczny), co nie zadziała, jeśli pole w formularzu nazywa się imie.
  • $name = GET['imie'];
    GET
    nie jest w PHP właściwą superglobalną tablicą danych żądania; prawidłowo stosuje się
    $_GET
    lub
    $_POST
    .

W praktyce, po pobraniu danych, należy pamiętać o ich walidacji (np. czy nie są puste) i odpowiednim zabezpieczeniu przed typowymi błędami wejścia użytkownika.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
$_POST to superglobalna tablica PHP zawierająca dane przesłane w treści żądania HTTP metodą POST, np. z formularza HTML. Kluczami są nazwy pól z atrybutu name, a wartościami dane wprowadzone przez użytkownika. Używa się jej do odbioru danych po stronie serwera.
$_GET zawiera parametry przekazane w adresie URL (query string) metodą GET, np. ?id=5. Stosuje się ją m.in. do filtrowania list, paginacji czy wyszukiwania. Nie nadaje się do danych wrażliwych, bo parametry są widoczne w adresie.
Sprawdź atrybut method w tagu <form>: <form method="post"> oznacza POST, a <form method="get"> oznacza GET. Gdy atrybut nie jest podany, domyślnie stosowana jest metoda GET.
Apostrofy (lub cudzysłowy) oznaczają, że klucz jest napisem (łańcuchem). W formularzach nazwy pól (name) są tekstowe, więc w PHP odczyt odbywa się przez klucz tekstowy, np. $_POST['imie']. Bez cudzysłowów łatwo o błąd składni lub niejednoznaczność.
Najczęściej pojawia się: użycie złej tablicy ($_GET zamiast $_POST), pominięcie znaku $_, literówki w nazwie klucza (np. imie vs Imię), oraz brak sprawdzenia, czy klucz istnieje. Warto stosować isset() i walidację.
Tak. Klucz w $_POST pochodzi bezpośrednio z atrybutu name pola formularza, np. <input name="imie"> daje odczyt $_POST['imie']. Zmiana wielkości liter lub znaków (np. polskich) powoduje, że odczytasz inny klucz.
POST wybiera się, gdy dane są większe, nie powinny być widoczne w adresie URL lub operacja zmienia stan po stronie serwera (np. logowanie, rejestracja, zapis do bazy). GET jest wygodny do parametrów nawigacyjnych i wyszukiwania, bo można łatwo udostępnić link.
Najprościej użyć isset($_POST['imie']) (dla POST) lub isset($_GET['imie']) (dla GET). To pozwala uniknąć odwołania do nieistniejącego klucza. Często łączy się to z walidacją, np. sprawdzeniem długości i dozwolonych znaków.
Pobrana wartość może być pusta, mieć niepoprawny format lub zawierać złośliwe dane. Trzeba ją zwalidować (np. wymagane pole, długość), a przed wyświetleniem zakodować w HTML, by ograniczyć ryzyko XSS. Przy zapisie do bazy stosuje się parametryzację zapytań.
Ćwicz pełny scenariusz: formularz <form> z polami <input>, wysłanie POST/GET i odbiór w PHP przez $_POST/$_GET. Naucz się typowych pułapek: nazwa name, poprawne apostrofy przy kluczach, sprawdzanie isset() oraz podstawowa walidacja danych.
info

Statystycznie 49% uczniów zna prawidłową odpowiedź. trudne

Eksperci podkreślają: "Poprawny zapis pobrania wartości z formularza wysłanego metodą POST w PHP wykorzystuje tablicę superglobalną $_POST oraz klucz będący nazwą pola (atrybut name), np. $_POST['imie']."

Źródła:

  • PHP Manual: Superglobals - https://www.php.net/manual/en/language.variables.superglobals.php (accessed 2026-02-27)
  • PHP Manual: $_POST - https://www.php.net/manual/en/reserved.variables.post.php (accessed 2026-02-27)
  • PHP Manual: $_GET - https://www.php.net/manual/en/reserved.variables.get.php (accessed 2026-02-27)

Materiały:

  • Oficjalna dokumentacja PHP dotycząca zmiennych superglobalnych
  • Materiały kursowe o formularzach HTML i przesyłaniu danych metodą POST/GET
  • Ćwiczenia praktyczne: tworzenie formularza i odbiór danych w skrypcie serwerowym

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego