Array superglobali

Le variabili contenenti informazioni che devono avere visibilità globale sono raccolte in array superglobali.

Client

Informazioni provenienti dal lato client

$_GET[] $HTTP_GET_VARS[] contiene i dati inviati con un form con method='get'
$_POST[] $HTTP_POST_VARS[] contiene i dati inviati con un form con method='post'
$_COOKIE[]
$_REQUEST[] contiene tutti i dati disponibili in $_GET, $_POST, $_COOKIE
$_FILES[] contiene i dati sui file inviati con un form con method='post'

Server

Informazioni dal lato server

$_SERVER[] $HTTP_SERVER_VARS[] argc argv
DOCUMENT_ROOT
PHP_SELF PHP_AUTH_USER PHP_AUTH_PW
QUERY_STRING
REMOTE_ADDR REMOTE_HOST REMOTE_PORT
REQUEST_METHOD REQUEST_TIME REQUEST_URI
SCRIPT_FILENAME SCRIPT_NAME
SERVER_ADMIN SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SIGNATURE SERVER_SOFTWARE
$_ENV[] $HTTP_ENV_VARS[] variabili d’ambiente del server, sono quelle in php_info()
$_SESSION[] le variabili impostate nella sessione corrente
$GLOBALS[] le variabili dello script con visibilità globale.
$GLOBALS['a'] è alternativo a global $a;

register_long_array

Impostando la direttiva in php.ini

register_long_array=On

si potrebbero utilizzare i nomi lunghi per le variabili superglobali precedenti alla versione 4.1.0 di PHP

$HTTP_..._VARS[]

Sono stati abbandonati per la lunghezza eccessiva…

register_globals

Impostando la direttiva in php.ini

register_globals=On

si potrebbero utilizzare le variabili superglobali, come nelle prime versioni di PHP, senza utilizzare l’array corrispondente

Le variabili locali e superglobali conviverebbero con nomi simili!
Questa tecnica è assolutamente da evitare perché sarebbe la causa di continui errori di programmazione.