PHP/Programmazione/Variabili globali/$ GET: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
m formatta
Ramac (discussione | contributi)
m formattazione
Riga 1:
{{Linguaggio PHP}}
==$_GETCos'è==
'''$_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.<br/>
In molte forme $_GET può essere simile a [[Linguaggio PHP/Programmare con PHP/Le variabili globali/$_POST|$_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 <code>md5</code>, un algoritmo di crittazione univoco e non retroversibile.
 
===Cos'è=Utilizzo==
Si può chiamare una pagina passandoglipassandole 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">).<br/>
''$_GET'' (o ''$HTTP_GET_VARS'' se la versione ''PHP'' è inferiore alla 4.1.0) rappresenta un array associativo di variabili passate tramite barra degli indirizzi.
In molte forme $_GET può essere simile a $_POST([[Linguaggio PHP/Programmare con PHP/Le variabili globali/$_POST]]), ma è meno sicuro e più ''disordinato'', infatti tutte le variabili passate in questo modo verranno visualizzate nella barra degli indirizzi in modo palese, e si passano molte variabili con lunghi contenuti, può dare un impressione di ''disordine'' ad un utente che passa.
 
===Utilizzo===
Si può chiamare una pagina passandogli 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">).
E' 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
 
===Esempi===
 
====In un Forum====
Un classico utilizzo dell'array ''superglobale'' $_GET, è inquello della visualizzazione di un particolare ''thread'' di un forum.<br/>
In questo caso sarà necessario predisporre una pagina ad esempio showThread.php che, letto un valore passato come ID, restituisca il thread corrispondente.<br/>
Per questo utilizzo un modo semplice è passare tramite indirizzo l'id univoco del post da visualizzare, e la pagina.php predestinata a visualizzare i post ricevendolo, fara una ''query'' a ''database'' per estrarre i dati corrispondenti al post, stampandoli poi a schermo.
Per fare riferimento, ad esempio, al thread con id 23, si potrà usare la notazione
Con questo modo, la pagina si richiamerà con un url simile a questo:
www.forumTestWiki.html/viewPPageshowThread.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.
 
====Per un Login====
E'&Egrave; possibile anche utilizzarla 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.