Formularz przesyłający dane metodą GET w php

$_GET to super globalna zmienna, która służy do pobierania danych z formularza. Może też służyć do przesyłania danych pomiędzy stronami, które zostają umieszczone wewnątrz adresu URL. Dane takie wysyła się za pomocą parametrów poprzedzonych znakiem ?
Przykładowy link z parametrem o nazwie pesel i jego wartości może wyglądać następująco: www.mojastrona.pl/index.php?pesel=88120998878
Kolejne parametry oddziela się kolejnymi znakami ?.
Poniżej przykład użycia zmiennej $_GET w formularzu, który wysyła dwie liczby, a w stronie docelowej wyświetla ich wynik. Oczywiście możemy przesłać takie dane na inną stronę, wpisując jej adres przy formularzu przy słowie action.

<html>
<body>

<form method="get" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Liczba1: <input type="text" name="l1">
  Liczba2: <input type="text" name="l2">
  <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "GET") {
  $l1 = $_GET['l1'];
  $l2 = $_GET['l2'];
  if (empty($l1) || empty($l2)) {
    echo "Liczby nie zostały podane";
  } else {
    echo "$l1 + $l2 = ".$l1+$l2;
  }
}
?>

</body>
</html>

Oczywiście powyższy przykład pokazuje tylko podstawową zasadę działania globalnej $_GET. Nie zawsze musimy korzystać z formularza.
Pamiętajcie jednak, że formularze są bardzo niebezpieczne ponieważ pozwalają użytkownikom na wpisanie ciągu znaków, który może złamać zabezpieczenia naszej strony. Zawsze powinniśmy zabezpieczać formularze przed wpisaniem złośliwego kodu, a jeżeli wpisywane dane są sprawdzane w bazie danych to musimy się do tego porządnie przyłożyć. Kilka takich przykładów zostało omówionych tutaj: https://www.w3schools.com/php/php_form_validation.asp

Scroll to Top