Opis: Zostaną omówione formularze oraz superglobalne tablice w języku PHP, w tym mechanizmy przesyłania danych za pomocą $_GET, $_POST i $_REQUEST, wykorzystanie tablic $_SERVER, $_SESSION i $_COOKIE oraz podstawowe metody walidacji danych formularza, takie jak isset i empty, umożliwiające bezpieczne przetwarzanie danych wejściowych użytkownika w aplikacjach webowych.
W języku PHP dane przesyłane z formularzy HTML lub przez adres URL są dostępne za pomocą tzw. tablic superglobalnych. Są to specjalne zmienne dostępne w każdym miejscu programu.
Najczęściej wykorzystywane to:
$_GET - służy do odbierania danych przesyłanych w adresie URL,
$_POST - służy do odbierania danych przesyłanych z formularza metodą POST,
$_REQUEST - zawiera dane zarówno z $_GET, jak i $_POST (oraz inne, zależnie od konfiguracji).
Każda z tych tablic działa jak tablica asocjacyjna, gdzie kluczem jest nazwa pola formularza lub parametr w URL.
Dane w metodzie GET są przesyłane bezpośrednio w adresie URL w postaci parametrów. Każdy parametr ma postać:
nazwa=wartośćParametry są oddzielone znakiem &.
Przykład
Formularz HTML (wysyłanie danych metodą GET)
<form method="GET" action="index.php">
<input type="text" name="imie" placeholder="Podaj imię">
<input type="submit" value="Wyślij">
</form>Kod PHP (odbieranie danych)
<?php
if (isset($_GET['imie'])) {
$imie = $_GET['imie'];
echo "Witaj, " . $imie;
}
?>Jak dane trafiają do adresu URL
Po wpisaniu np. Jan i wysłaniu formularza przeglądarka automatycznie tworzy adres:
http://localhost/index.php?imie=JanElementy tego adresu:
index.php - plik, który obsługuje dane,
? - oznacza początek parametrów,
imie=Jan - parametr o nazwie imie i wartości Jan.
Dla większej liczby pól:
<input type="text" name="imie">
<input type="number" name="wiek">adres może wyglądać tak:
http://localhost/index.php?imie=Jan&wiek=20Po wysłaniu formularza:
dane z pól HTML są zamieniane na parametry w URL,
PHP odczytuje je z tablicy $_GET,
klucz tablicy odpowiada nazwie pola formularza (name="imie"),
wartość to dane wpisane przez użytkownika.
Metoda GET jest prosta i wygodna, ale należy pamiętać, że dane są jawne (widoczne w pasku adresu) i mają ograniczoną długość.
Dane są przesyłane z formularza HTML metodą POST i nie są widoczne w adresie URL.
Przykład:
<form method="POST">
<input type="text" name="imie">
<input type="submit" value="Wyślij">
</form><?php
if (isset($_POST['imie'])) {
$imie = $_POST['imie'];
echo "Witaj, " . $imie;
}
?>Wyjaśnienie:
Dane z pola formularza o nazwie imie są przesyłane metodą POST i odczytywane z tablicy $_POST. Funkcja isset() sprawdza, czy dane zostały wysłane.
Tablica $_REQUEST umożliwia dostęp do danych zarówno z $_GET, jak i $_POST.
Przykład:
<?php
$imie = $_REQUEST['imie'];
echo "Witaj, " . $imie;
?>Wyjaśnienie:
Niezależnie od sposobu przesłania danych (GET lub POST), wartość imie zostanie odczytana z tablicy $_REQUEST. Jest to rozwiązanie wygodne, ale mniej precyzyjne, ponieważ nie wskazuje jednoznacznie źródła danych.
$_GET - dane widoczne w URL, łatwe do testowania,
$_POST - dane przesyłane w formularzu, bezpieczniejsze dla użytkownika,
$_REQUEST - łączy różne źródła danych, ale może być mniej czytelne.
Tablice te stanowią podstawę pracy z formularzami i komunikacji między stroną a użytkownikiem w PHP.
© 2026 Piskorowski Jakub. All rights reserved.