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
Immagine:php_GTa.jpg
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/)
Personal tools