Appuntiphp.com

28 gennaio 2010

Gestione dei form in PHP con GET e POST

Il PHP utilizza le variabili predefinite $_GET e $_POST per recuperare i dati dai form HTML con gli omonimi metodi di invio.

Inviando i dati attraverso il method get i dati stessi saranno accordati alla URL della pagina come parametri di tipo querystring, mentre inviando i dati attraverso il method post avremo effettuato un vero e proprio submit e la URL della pagina non sarà accompagnata da alcun parametro.

Attraverso il metodo di invio/recupero get possiamo inviare i dati ad una pagina parametrizzata anche attraverso un link.

Invio e recupero dei dati da form col metodo GET

Prendiamo come esempio il seguente e semplice codice HTML:

<form method="get" action="get.php">
<input type="text" name="nome">
<input type="submit" value="OK">
</form>

Lo si inserisca su una qualsiasi pagina HTML, ad esempio form.html e la si esegua sul proprio Web Server all’indirizzo:

http://localhost/form.html

Si crei adesso il file get.php, a cui questo modulo HTML punta, e lo si corredi del seguente codice:

<?
    $nome = $_GET["nome"];
    echo $nome;
?>

Inserendo il proprio nome nella casella di testo ed inviando il form avremo una pagina con la seguente URL:

http://localhost/get.php?nome=Luca

e sulla pagina ci sarà scritto il nome inserito nella casella di testo, che compare anche in chiaro nella querystring. Si tenga presente che le querystring, a prescindere dal numero di parametri, supporta al massimo 255 caratteri.

Il primo carattere si separa dalla URL col carattere ? mentre i successivi si separano col carattere &. Ad esempio, quindi:

http://localhost/get.php?nome=Luca&cognome=Ruggiero

Invio e recupero dei dati da form col metodo POST

Modifichiamo il metodo di invio all’esempio di form HTML visto in precedenza, cambiandolo da get a post:

<form method="post" action="get.php">
<input type="text" name="nome">
<input type="submit" value="OK">
</form>

Lo si esegua sul proprio Web Server all’indirizzo:

http://localhost/form.html

Si crei adesso il file post.php, a cui questo modulo HTML adesso punta, e lo si corredi del seguente codice:

<?
    $nome = $_POST["nome"];
    echo $nome;
?>

Inserendo il proprio nome nella casella di testo ed inviando il form avremo una pagina con la seguente URL:

http://localhost/get.php

e sulla pagina ci sarà scritto il nome inserito nella casella di testo.

Per l’utilizzo di moduli abbastanza ampi, con più di uno, massimo due campi, si consiglia sempre il metodo di invio/recupero post.

Invio e recupero dei dati da link col metodo GET

Si crei adesso il file link.html e lo si corredi del seguente codice:

<a href="get.php?nome=Luca">Luca</a>

Il codice del file get.php sarà identico a quello del precedente esempio che lo contempla. Lo si esegua all’indirizzo:

http://localhost/link.html

Il risultato sarà il medesimo dell’invio dei dati attraverso il form ed il method get, solo che abbiamo indicato il valore della variabile “nome” direttamente all’interno del link.

Nessun commento »

Non c'è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento

Appuntiphp.com è il blog italiano su PHP - Funziona con WordPress