Passaggio valori usando un form
Il passaggio di valori a una pagina PHP è usato spesso in combinazione con un form: il form raccoglie i valori immessi dall'utente e quindi la pagina php li elabora. Si consideri come esempio il seguente form per la raccolta dei dati di un utente:
Il codice HTML è il seguente:
<form method="get" action="elabora.php">
<strong>Nome:</strong><input type="text" name="nome">
<br>
<strong>Cognome: </strong>
<input type="text" name="cognome">
<br>
<strong>Indirizzo mail:</strong><input type="text" name="mail">
<p><strong>Scrivi qui sotto il tuo messaggio:</strong></p>
<textarea name="messaggio" cols="30" ></textarea>
<br>
<input type="submit" value="Invia">
</form>
L'attributo action del tag form (con valore "elabora.php") indica il nome di una pagina PHP alla quale sono inviati i dati del form. Ciò avviene quando l'utente preme sul pulsante Invia, di tipo submit. Sul significato dell'attributo method="get" torneremo invece in una prossima lezione.
Supponendo che il form sia stato riempito nel seguente modo:
la pressione del pulsante INVIA provoca un reindirizzamento del browser alla seguente URL:
elabora.php?nome=Giancarlo&cognome=Perlo&mail=g.perlo@perlo.it&messaggio=Complimenti!
Analizziamone separatamente le diverse parti:
Viene dunque creata automaticamente una stringa di query contenente una serie di variabili con nomi uguali ai campi del form e valori corrispondenti (quelli inseriti dall'utente). Solo i campi del form che hanno un attributo name vengono passati automaticamente alla pagina php.
A questo punto la pagina "elabora.php" conterrà le istruzioni necessarie a ricevere i valori inviati e assegnarli ad altrettante variabili:
<?php
$nome = $_REQUEST['nome'];
$cognome = $_REQUEST['cognome'];
$mail = $_REQUEST['mail'];
$messaggio = $_REQUEST['messaggio'];
A questo punto la pagina elabora.php potrà utilizzare i valori delle variabili $nome, $cognome, $mail e $messaggio per eseguire la propria elaborazione. Per un primo esempio di come potrebbero essere elaborati dal server i dati raccolti per mezzo di un form, vedi la lezione successiva.
Sito realizzato in base al
template offerto da
http://www.graphixmania.it