W języku PHP zmienna $_GET jest zmienną
$_GET to tablica predefiniowana z parametrami przekazanymi w adresie strony.$_GET niesie dane z adresu, ale jest wbudowana w PHP, a nie zdefiniowana przez autora.$_POST, której dane nie są widoczne w adresie.$_GET tworzy sam PHP, twórca strony jej nie definiuje.Pytanie z egzaminu CKE, styczeń 2015 (arkusz E.14-X-15.01).
$_GET to zmienna predefiniowana, a dokładniej tablica superglobalna, którą PHP tworzy i wypełnia sam przy każdym żądaniu. Trafiają do niej parametry z adresu strony - z części po znaku zapytania. Dla adresu strona.php?id=5 skrypt odczyta $_GET["id"] i dostanie napis 5. Tak samo działa formularz z atrybutem method="get": przeglądarka dokleja jego pola do adresu. Dane w $_GET są widoczne w pasku adresu i w historii, dlatego nie przesyła się tak haseł, ale dobrze nadaje się ona do numerów stron, filtrów i wyszukiwania. Do zapamiętania: GET - dane w adresie, POST - w treści żądania.
Ta zmienna nie jest dziełem twórcy strony - tablice z podkreśleniem na początku, takie jak $_GET, $_POST czy $_SESSION, są wbudowane w PHP i dostępne w każdym skrypcie bez deklarowania. Zdania o zmiennej zwykłej albo zdefiniowanej przez autora są więc chybione, nawet jeśli wspominają o adresie strony. Opis danych formularza przesyłanych w treści żądania, których nie widać w adresie, pasuje do innej tablicy - $_POST. Formularz z method="post" wysyła pola w ciele żądania HTTP, a skrypt odczytuje je właśnie z $_POST. W $_GET lądują wyłącznie parametry z adresu, np. ?imie=Jan. Rozróżnienie warto zapamiętać przy pisaniu formularzy: metoda formularza decyduje, z której tablicy skrypt odczyta dane. Obie tablice są dostępne w każdym miejscu skryptu, także wewnątrz funkcji, bez słowa global. Dane z obu tablic zawsze trzeba sprawdzić przed użyciem, bo użytkownik może je dowolnie zmienić.