PHP/Programmazione/Variabili globali/$ GET
Wikibooks, manuali e libri di testo liberi.
- Introduzione PHP/Introduzione
- Installazione e configurazione PHP/Installazione e configurazione
- Programmazione PHP/Programmazione
- Una pagina PHP PHP/Programmazione/Una pagina PHP
- echo PHP/Programmazione/echo
- Commenti PHP/Programmazione/Commenti
- Variabili PHP/Programmazione/Variabili
- Operatori PHP/Programmazione/Operatori
- Array PHP/Programmazione/Array
- Condizioni PHP/Programmazione/Condizioni
- Cicli PHP/Programmazione/Cicli
- Funzioni di base PHP/Programmazione/Funzioni di base
- Funzioni personalizzate PHP/Programmazione/Funzioni personalizzate
- Variabili globali PHP/Programmazione/Variabili globali
- $GLOBALS PHP/Programmazione/Variabili globali/$GLOBALS
- $_GET PHP/Programmazione/Variabili globali/$_GET
- $_POST PHP/Programmazione/Variabili globali/$_POST
- $_SESSION PHP/Programmazione/Variabili globali/$_SESSION
- $_COOKIE PHP/Programmazione/Variabili globali/$_COOKIE
- $_SERVER PHP/Programmazione/Variabili globali/$_SERVER
- File PHP/Programmazione/File
- Immagini PHP/Programmazione/Immagini
- Espressioni regolari PHP/Programmazione/Regexp
- Programmazione orientata agli oggetti PHP/Programmazione/OOP
- Programmazione avanzata con le classi PEAR PHP/PEAR
- PHP e i database PHP/Database
- Funzioni PHP per l'accesso ai database
- Database e object oriented PHP/Dboop
- PHP Design Pattern PHP/PHP Design Pattern
- Smarty PHP/Smarty
- Sicurezza delle applicazioni web PHP/Sicurezza
- PHP CLI: Command Line Interpreter PHP/Cli
- PHP GTK2: applicazioni desktop in PHP PHP/Gtk
- Wikibook credits
Indice |
[modifica] Cos'è
$_GET (o $HTTP_GET_VARS se la versione di PHP è inferiore alla 4.1.0) rappresenta un array associativo di variabili passate tramite barra degli indirizzi; alle coppie di chiavi e valori nell'array corrispondono le coppie di nomi e valori nella querystring.
In molte forme $_GET può essere simile a $_POST, ma la querystring non può superare i 255 caratteri; inoltre è poco sicuro in quanto è molto facile per un utente malintenzionato appendere valori alla querystring senza che vengano effettuati controlli precedenti. Una tecnica eventuale è quella di passare i valori crittandoli tramite la funzione md5, un algoritmo di criptazione univoco e non retroversibile.
[modifica] Utilizzo
Si può chiamare una pagina passandole variabili tramite $_GET da un form HTML, a patto che la proprietà html del form in questione sia impostata a GET (es. <form action="pagina.html" method="get">). In questo caso le coppie di nomi-valori saranno dati dai nomi dei campi form e dai rispettivi valori.
È possibile anche chiamare una pagina passandogli variabili per indirizzo semplicemente chiamando la pagina e accodando al nome ?, seguito dalle variabili in ordine chiave=valore e suddivise da una &.
www.sito.com/chk.php?var1=valore1&var2=valore2
In questo caso avremmo un array che avrà per chiavi var1 e var2 e per valori rispettivamente valore1 e valore2.
[modifica] Esempi
[modifica] In un Forum
Un classico utilizzo dell'array superglobale $_GET è quello della visualizzazione di un particolare thread di un forum.
In questo caso sarà necessario predisporre una pagina ad esempio showThread.php che, letto un valore passato come ID, restituisca il thread corrispondente.
Per fare riferimento, ad esempio, al thread con id 23, si potrà usare la notazione
www.forumTestWiki.it/showThread.php?id=23
In queste situazioni l'utilizzo di GET risulta comodo, in quanto:
- non c'è alcun problema di sicurezza (l'ID del thread non è un dato sensibile)
- un utente può creare un segnalibro alla pagina in modo che, poiché contiente nella URL l'ID del thread, questo sarà caricato automaticamente.
[modifica] Per un login
È possibile anche utilizzare la querystring per un sistema di login, ma questo metodo è decisamente carente in fatto di sicurezza, poiché i dati come nome utente e password sarebbero palesemente visualizzabili a schermo.

