$_GET w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Opublikowano: Zaktualizowano:

Czym jest $_GET w PHP?

$_GET to predefiniowana zmienna superglobalna w PHP. Służy do odbierania danych przekazanych do skryptu przez adres URL, czyli najczęściej metodą HTTP GET.

Dane trafiają do adresu po znaku zapytania ? w postaci par nazwa=wartosc, rozdzielonych znakiem &.

Przykład adresu URL

produkt.php?id=15&sort=asc

W skrypcie PHP można odczytać te dane tak:

<?php
$id = $_GET['id'];
$sort = $_GET['sort'];

echo $id;   // 15
echo $sort; // asc
?>

$_GET jest tablicą asocjacyjną, czyli wartości są dostępne pod nazwanymi kluczami, np. $_GET['id'].

Formularz wysyłany metodą GET

<form method="get" action="szukaj.php">
  <input type="text" name="q">
  <button type="submit">Szukaj</button>
</form>

Po wpisaniu słowa php przeglądarka może przejść pod adres:

szukaj.php?q=php

A w PHP:

<?php
echo $_GET['q'];
?>

Ważne cechy $_GET

  • jest zmienną predefiniowaną, nie tworzy jej autor strony,
  • dane są widoczne w adresie URL,
  • nadaje się do wyszukiwania, filtrowania, paginacji, identyfikatorów rekordów,
  • nie powinna być używana do przesyłania haseł i danych poufnych,
  • przed użyciem danych warto sprawdzić ich istnienie funkcją isset() i je zweryfikować.

Bezpieczniejszy odczyt

<?php
if (isset($_GET['id'])) {
    $id = (int) $_GET['id'];
    echo $id;
}
?>

W pytaniach egzaminacyjnych najważniejsze jest zapamiętanie: $_GET odbiera dane przesłane do PHP przez URL.