AWWW-1st3.6-w06.tresc-1.1-Slajd34
Predefiniowane zmienne PHP
PHP każdemu działającemu skryptowi udostępnia wiele zmiennych pochodzących z zewnątrz, czyli np. ze środowiska serwera, z formularzy HTML itp. Zmienne te są zorganizowane w tablice o nazwach rozpoczynających się od „$_”. Tablice te są „superglobalne” tzn. automatycznie dostępne w każdym zasięgu. Jest to istotne, gdyż zwykłe zmienne globalne w PHP nie są automatycznie widoczne w funkcjach i muszą być w nich zadeklarowane słowem kluczowym „global”.
Superglobalne tablice PHP to:
$GLOBALS – referencje do zmiennych globalnych skryptu (nazwa wyjątkowo bez „_”),
$_SERVER – zmienne tworzone przez serwer,
$_GET – zmienne dostarczone do skryptu metodą GET protokołu HTTP,
$_POST – zmienne dostarczone do skryptu metodą POST protokołu HTTP,
$_COOKIE – zmienne cookies dostarczone do skryptu,
$_FILES – zmienne dostarczone do skryptu przez przesłanie plików do serwera (file upload) metodą POST protokołu HTTP,
$_ENV – zmienne dostarczone do skryptu przez środowisko systemu operacyjnego,
$_REQUEST – zmienne z tablic $_GET, $_POST i $_COOKIE zebrane w jednej tablicy,
$_SESSION – zmienne aktualnie zarejestrowane jako sesyjne.
W starszych wersjach PHP (tj. do PHP 3 włącznie) zmienne przychodzące z zewnątrz były automatycznie rejestrowane jako zmienne globalne w skrypcie bez pośrednictwa tablic. Później rozwiązanie to zarzucono ze względów bezpieczeństwa. Choć nie jest to zalecane, można takie zachowanie przywrócić włączając opcję konfiguracyjną PHP register_globals.