Metodo get:
Il linguaggio PHP consente la creazione di siti dinamici, ossia la possibilità di poter variare il contenuto di una pagina secondo le esigenze del navigatore o del webmaster.
Il metodo per manipolare tali pagine viene estratto dalle variabili che da una pagina vengono trasmesse all'altra.
Con queste variabili è possibile trasmettere qualunque cosa, un numero, una scritta, ma anche foto o file se agiamo sui form.
Esistono diversi metodi per il passaggio dei dati fra le pagine, il php mette a disposizione le sessioni, i cookie, il metodo get e post.
I cookie e le sessioni sono spesso utilizzati per gestire le informazioni del navigatore e le statistiche, ed hanno il grande difetto di non poter essere sfruttate se le impostazioni di navigazione del browser non consentono di scaricare i cookie nella memoria temporanea (salvo inserire scorciatoie particolari).
I metodi GET e POST sono sempre disponibili, e pertanto sono da privilegiare quando possibile.
GET
Il metodo
get prevede che i nomi ed i valori da associare siano posti direttamente sulla barra di navigazione, nell'indirizzo URL della pagina richiamata.
Tale procedura consente al navigatore e a chi può accedere al pc, di leggere il nome della variabile ed il suo valore, pertanto se i dati contengono informazioni personali necessiteranno di un'eventuale
criptazione.
La sintassi è la seguente:
<a href="nome_pagina.php?nome=valore>
Come vediamo dall'esempio è semplicissimo, basta ricordarsi del punto interrogativo e non
sbagliare il nome o il valore della variabile.
Se vogliamo inserire più nomi e valori, dobbiamo solo inserire il carattere
&
(e commerciale, che significa AND) fra le coppie di parametri.
Esempio:
<a href="nome_pagina.php?nome=valore&nome2=valore2&nome3=valore3....>
Dopo aver inserito questa riga (che per convenzione si chiama
query string) abbiamo
a disposizione un array globale di nome
$_GET che contiene tutti i parametri che abbiamo inserito nella query string ed è visibile nell'URL della nuova pagina.
Esempio dell'array:
$_GET= array('nome'=>'valore', 'nome2'=>'valore2', 'nome3'=>'valore3');
Da adesso (se considero l'esempio precedente) abbiamo a disposizione tutte le variabili che
contiene l'array:
$_GET['nome']; //che equivale a 'valore'
$_GET['nome2']; //che equivale a 'valore2'
$_GET['nome3']; //che equivale a 'valore3'
Per essere brevi:
Supponiamo di scrivere una riga come questa:
<a href="index.php?ciao=2&ciao2=4>
Quando il codice arriva al server abbiamo a disposizione le variabili:
$ciao=$_GET['ciao'];
$ciao2=$_GET['ciao2'];
E le possiamo usare per generare la pagina index.php che vedrà l'utente sul suo browser.
Eccezioni:
Se il server ha impostato
register_globals su
ON
possiamo usare direttamente le variabili (con il loro nome) senza richiamarle tramite l'array $_GET.
Nell'esempio precedente, dove spediamo $ciao e $ciao2 possiamo lavorare direttamente con il loro nome, senza ricavarle tramite le righe
$ciao=$_GET['ciao']; e
$ciao2=$_GET['ciao2'];
Errore W3C:
In alcuni vecchi browser il carattere
& non è previsto nel codice HTML
(è una parola
riservata),
ed il navigatore potrebbe avere dei problemi quando visualizza una pagina dove è presente una
query che trasmette più variabili con metodo get, e le specifice W3C segnalano come errore l'inserimento diretto di quel carattere nella barra degli indirizzi.
Per ovviare a questo problema è sempre consigliabile scrivere il carattere
& con il
corrispettivo codice HTML:
&
Esempio:
Se con l'
editor scriviamo il codice:
<a href="index.php?ciao=2&ciao2=4>
Il risultato sulla barra degli indirizzi sarà sempre :
http://nomesito.it/index.php?ciao=2&ciao2=4
Conclusioni:
Le query string sono una delle caratteristiche fondamentali dei linguaggi che creano pagine
dinamiche.
Un esempio è la creazione delle directory, come in questo sito.
Immaginate quante pagine avremmo dovuto compilare per creare una directory con decine di
categorie e centinaia di siti.
La realtà? Semplice, una directory si genera con una sola pagina PHP ed un database dove
archiviamo tutti i siti recensiti.
I dati scelti dall'utente (tramite il form di ricerca o il clic sulle categorie) vengono
rimbalzati dalla pagina iniziale al server, analizzati, manipolati e poi di nuovo sul browser.
In questo modo è possibile generare migliaia di soluzioni per la stessa pagina web.
Abbiamo appena creato un sito dinamico.
Per capire in pratica cosa abbiamo appena detto guardate la pagina di
esempio.