PHP Superglobal Variables och Register_Globals
PHP har en speciell typ av variabel som kallas en superglobal. Anledningen till att dessa variabler är speciella är att de automatiskt är tillgängliga för alla PHP-program utan att programmeraren skapar eller definierar dem i sitt program. Du kan tänka på dem som "inbyggda" variabler.

Hur du kommer åt dessa variabler skiljer sig beroende på om register_globals är på eller av på din server. Innan PHP version 4.2, var register_globals aktiverat som standard. Men gör av säkerhetsskäl; denna inställning är nu avstängd som standard (version 4.2+). Naturligtvis är det upp till de personer som driver din server att bestämma om de vill åsidosätta standardinställningen och slå på register_globals. Det enklaste sättet att testa din egen server är att använda phpinfo (). Du kommer antagligen att ha en länk till den här webbsidan i det administrativa området på din webbplats. På den här webbsidan hittar du avsnittet Konfiguration PHP Core som har denna information.

Som nämnts ovan kommer du åt superglobalerna på olika sätt beroende på inställningen på din server. För den nya serverinställningen fick superglobalerna nya namn. Om din server fortfarande har den gamla inställningen, skulle det vara bättre att börja använda de nya namnen ändå. Om du använder dessa nya namn kan du vara säker på att dina program fungerar under båda serverkonfigurationerna. Detta är dock inte fallet för de gamla namnen. De fungerar bara för den gamla serverkonfigurationen. Diagrammet nedan visar de gamla och nya namnen och en beskrivning av superglobalerna. Lägg märke till att namnen på dessa superglobaler finns i alla stora bokstäver.

NyGammalBeskrivning
$ _GET $ HTTP_GET_VARS Denna superglobal innehåller de variabler som skickas till programmet med get-metoden såsom en gery-sträng.
$ _POST $ HTTP_POST_VARS Denna superglobal innehåller de variabler som skickas till programmet med post-metoden.
$ _COOKIE $ HTTP_COOKIE_VARS Denna superglobal innehåller de variabler som finns tillgängliga för programmet från en cookie.
$ _SESSION $ HTTP_SESSION_VARS Denna superglobal innehåller de variabler som registrerats av programmet via en session.
$ _FILES $ HTTP_POST_FILES Denna superglobal innehåller de variabler som finns tillgängliga från en filuppladdning.
$ _ENV $ _HTTP_ENV_VARS Denna superglobal innehåller de variabler som finns tillgängliga från servermiljön.
$ _REQUEST -- Denna superglobal innehåller de variabler som skickas till ett program av alla typer av användarinmatningar. Detta är den mest allmänna eller universella typen av superglobal.
$ _SERVER -- Denna superglobal innehåller information om servern, t.ex. filvägar.