Superglobal spremenljivke PHP in register_Globals
PHP ima posebno vrsto spremenljivke, ki se imenuje superglobal. Razlog je, da so te spremenljivke posebne, ker so samodejno na voljo vsem programom PHP, ne da bi jih programer ustvaril ali definiral v svojem programu. Lahko si jih predstavljate kot "vgrajene" spremenljivke.

Način dostopa do teh spremenljivk se razlikuje glede na to, ali je na vašem strežniku vklopljen ali izklopljen register_globals. Pred PHP različico 4.2 je bil register_globals privzeto vklopljen. Vendar iz varnostnih razlogov; ta nastavitev je zdaj privzeto izklopljena (različica 4.2+). Seveda bodo ljudje, ki vodijo vaš strežnik, odločili, ali bodo preglasili privzeto nastavitev in vklopili register_globals. Najlažji način testiranja lastnega strežnika je uporaba phpinfo (). Verjetno boste imeli povezavo do te spletne strani na upravnem območju vašega spletnega mesta. Na tej spletni strani boste našli poglavje z nastavitvami PHP Core, ki vsebuje te podatke.

Kot že omenjeno, boste do superglobanov dostopali drugače, odvisno od nastavitve strežnika. Za novo nastavitev strežnika so superglobalci dobili nova imena. Če ima vaš strežnik še vedno staro nastavitev, bi bilo bolje začeti uporabljati nova imena. Če uporabljate ta nova imena, ste lahko prepričani, da bodo vaši programi delovali v obeh nastavitvah strežnika. Vendar pri starih imenih to ne velja. Delali bodo samo za staro konfiguracijo strežnika. Spodnji grafikon prikazuje stara in nova imena ter opis superglob. Opazite, da so imena teh superglobalk z velikimi tiskanimi črkami.

NovoStarOpis
$ _GET $ HTTP_GET_VARS Ta superglobal vsebuje spremenljivke, ki jih program pošlje po metodi get, kot je guery string.
$ _POST $ HTTP_POST_VARS Ta superglobal vsebuje spremenljivke, ki jih program pošlje po metodi post.
$ _COOKIE $ HTTP_COOKIE_VARS Ta superglobal vsebuje spremenljivke, ki so na voljo programu iz piškotka.
$ _SESIJA $ HTTP_SESSION_VARS Ta superglobal vsebuje spremenljivke, ki jih program registrira prek seje.
$ _FILES $ HTTP_POST_FILES Ta superglobal vsebuje spremenljivke, ki so na voljo pri prenosu datoteke.
$ _ENV $ _HTTP_ENV_VARS Ta superglobal vsebuje spremenljivke, ki so na voljo v strežniškem okolju.
$ _REKEST -- Ta superglobal vsebuje spremenljivke, ki jih programu pošlje katera koli vrsta uporabniškega vnosa. To je najbolj splošna ali univerzalna vrsta superglobalista.
$ _SERVER -- Ta superglobal vsebuje podatke o strežniku, kot so poti datotek.