Come per tutti i linguaggi di programmazione anche con il PHP è possibile utilizzare le variabili, che sono rappresentate dal simbolo del dollaro ($) seguito dal nome della variabile.
$variabile = 1;
$Variabile = "Questa è una variabile";
Queste sono variabili, e sono differenti non tanto per il valore loro assegnato quanto per il loro nome: infatti, in PHP le variabili sono case-sensitive.
Ogni variabile in PHP può assumere un nome che inizia con una lettera dell'alfabeto o un underscore (_) e segue con una combinazione qualsiasi di lettere, numeri o underscore. È bene ricordarsi che PHP, durante il processo di inizializzazione, crea delle variabili speciali (chiamate variabili superglobali) che contengono diversi tipi di informazione e che mi appresterò a trattare tra poco. Queste variabili sono accessibili da qualunque posizione dello script ed hanno dei nomi riservati che non andrebbero sovrascritti se non in casi particolari. Le variabili in questione sono:
- $_GET: un array contenente tutti i parametri passati alla pagina tramite metodo GET (accodando all'URL, dopo un punto di domanda (?) una serie di assegnazioni di valori separate da &);
- $_POST: un array contenente tutti i parametri passati alla pagina tramite il metodo POST (solitamente attraverso un Form oppure attraverso delle chiamate create manualmente);
- $_COOKIE: un array contenente tutti i cookie validi nella pagina corrente con il rispettivo valore;
-
$_REQUEST: un array che contiene i valori delle variabili precedenti, tutti insieme. In caso di omonimia delle variabili, queste sono soprascritte dando precedenza in base al valore della direttiva variables_order impostata nel file di configurazione di PHP (solitamente
php.ini
); - $GLOBALS: un array contenente tutte le variabili che risultano globali nello scope corrente;
-
$_SERVER: un array contenente delle variabili impostate dal Web Server oppure direttamente legate all'ambiente di esecuzione dello script corrente (come ad esempio il browser dell'utente o il suo indirizzo IP). Vi sono molte variabili associate a questo array, pienamente descritte nella documentazione ufficiale di PHP. Le più utili sono:
- PHP_SELF: il nome del file dello script correntemente in esecuzione;
- DOCUMENT_ROOT: la root da cui viene eseguito lo script corrente;
- REMOTE_ADDR: l'indirizzo IP dell'utente che sta eseguendo lo script. Questo valore viene impostato in base ad un header impostato dal browser, quindi non andrebbe utilizzato come discriminante in situazioni di sicurezza critiche;
-
$_FILES: un array contenente informazioni sui file inviati alla pagina tramite POST. Ad ogni chiave dell'array corrisponde un altro array contenente i dettagli sul file. Questi dettagli sono:
- name: il nome del file caricato;
- tmp_name: il path della cache temporanea del file;
- size: le dimensioni in byte del file;
- type: il mime type del file, se recuperabile;
- error: un numero indicante lo stato dell'upload del file, che può essere utilizzato per controllare che l'upload sia avvenuto correttamente;
- $_ENV: un array contenente tutte le variabili d'ambiente accessibili da PHP;
- $_SESSION: un array contenente tutte le variabili di sessione accessibili dalla pagina corrente;
A fronte di tutto questo è importante ricordarsi di non sovrascrivere questi valori, dato che sono spesso fondamentali per la corretta esecuzione dello script.