Come recupero i dati inviati da un form?
Da WikiGT di Giorgiotave.it
Tramite le variabili superglobali $_POST, $_GET (oppure, come vedremo, $_REQUEST).
Quale usare dipende dal metodo di trasmissione dei dati del form utilizzato.
| Table of contents |
Metodo GET
Immaginiamo di avere una pagina con il seguente form:
<form action="page.php" name="form" method="GET"> <input type="text" name="name"> <input type="submit" value="Submit"></form>
Diciamo di aver digitato ForumGT nell'input box della form, il valore del campo name, come si potrà notare, verrà trasmesso alla pagina page.php tramite url:
http://www.miosito.ext/page.php?name=ForumGT
Per poter recuperare in page.php il valore del testo digitato nel campo name della form, entra in gioco la variabile superglobale $_GET:
$name=$_GET['name']; echo $name; // risultato: ForumGT
Come è facile intuire, tramite la variabile superglobale $_GET sarà possibile recuperare un qualunque valore passato tramite url al nostro script:
<a href="http://www.miosito.ext/page.php?name=ForumGT">ForumGT</a> <a href="http://www.miosito.ext/page.php?name=GT">GT</a>
A seconda del link cliccato la variabile $_GET assumerà il valore assegnato a name:
$name=$_GET['name']; // cliccando sul primo link echo $name; // risultato: ForumGT // invece cliccando sul secondo link echo $name; // risultato: GT
Il metodo GET è solitamente consigliato quando i parametri da postare sono esigui in quantità ed in contenuto.
Bisogna anche ricordare che l'url della pagina fa da postino ed un semplice refresh indurrebbe a rieseguire lo script dato che il valore di name, nel nostro caso, è ancora memorizzato nella nostra barra degli indirizzi.
Metodo POST
Immaginiamo di avere una pagina con il seguente form:
<form action="page.php" name="form" method="POST"> <input type="text" name="name"> <input type="submit" value="Submit"></form>
Come per l'esempio usato per il metodo GET, diciamo di aver digitato ForumGT nella nostra input box. Diversamente dal metodo GET, invece, i valori inviati non daranno nessun output all'utente, in quanto questi viaggeranno in background. Per recuperare il valore digitato nella input box, bisognerà utilizzare la variabile superglobale $_POST in page.php:
$name=$_POST['name']; echo $name; // risultato: ForumGT
$_REQUEST
Sia che si utilizzi il metodo GET o che si utilizzi il metodo POST, esiste una variabile superglobale che memorizza i dati trasmessi con entrambi i metodi. Questa variabile è $_REQUEST. Il suo utilizzo è perfettamente uguale ai precedenti esempi:
$name=$_REQUEST['name'];
FAQ Correlate
| FAQ PHP - MySQL | |||
| |||
| Approfondimenti? | |||
| WikiGT Locuzioni Categoria FAQ PHP (http://www.giorgiotave.it/wikigt/os/Categoria:FAQ_Php) | |||
| Domande? | |||
| Apri un Thread nella sezione PHP-MySQL (http://www.giorgiotave.it/forum/newthread.php?do=newthread&f=9) | |||
| Accedi alla home del Forum GT (http://www.giorgiotave.it/forum/) | |||
Categories: FAQ | FAQ Php


