Una delle caratteritiche più forti di PHP è il modo in cui gestisce i form. Il concetto da comprendere principalmente è che qualsiasi elemento di un form sarà automaticamente disponibile per i vostri script PHP. Per maggiori informazioni ed esempi relativi all'utilizzo dei form consultate la sezione del manuale che si riferisce a le Variabili da sorgenti esterne. A seguire un esempio di un form HTML:
Example #1 Un semplice form HTML
<form action="action.php" method="POST"> <p>Il tuo Nome: <input type="text" name="name" value="" /></p> <p>La tua età: <input type="text" name="age" value ="" /></p> <p><input type="submit"></p> </form>
Questo form non ha niente di speciale. È un semplice form in HTML che non presenta nessun tipo di tags particolari. Quando l'utente riempie questo form e preme il pulsante submit, viene richiamata la pagina action.php. In questo file il risultato sarà qualcosa di simile:
Example #2 La stampa video di dati dal nostro form
Ciao <?php echo htmlspecialchars($_POST['name']); ?>.
La tua età è di <?php echo (int)$_POST['age']; ?> anni.
Ecco un possibile output di questo script:
Ciao Joe. La tua età è di 22 anni.
A parte le parti relative a htmlspecialchars() e (int), ciò che avviene dovrebbe risultare ovvio. htmlspecialchars() si assicura che qualsiasi carattere speciale in HTML sia propriamente codificato in modo che la gente non possa iniettare tag HTML o Javascript nella vostra pagina. Per il campo age, in quanto sappiamo che è un numero, possiamo semplicemente convertirlo in un integer il quale si sbarazzerà automaticamente di qualsiasi carattere strano. Puoi anche fare questo automaticamente con PHP utilizzando l'estensione filter. Le variabili $_POST["name"] e $_POST["age"] vengono impostate automaticamente dal PHP. Prima avevamo usato la variabile autoglobal $_SERVER, ora invece abbiamo introdotto la variabile autoglobal $_POST che contiene tutti i dati di tipo POST. Notate che il metodo del nostro form è il POST. Se usassimo il metodo GET le informazioni ricavate dal nostro form si troverebbero invece in $_GET. Si può anche usare la variabile autoglobale $_REQUEST se la provenienza dei dati richiesti non ci interessa. Questa variabile contiene un misto di dati GET, POST, COOKIE e FILE. Vedere anche la funzione import_request_variables().
Si può anche trattare con gli input XForms input in PHP, anche se vi troverete a vostro agio con i form HTML ben supportati per parecchio tempo. Nonostante lavorare con XForms non sia per principianti, si potrebbe essere interessati a loro. Abbiamo anche una breve introduzione per gestire i dati ricevuti da XForms nella nostra sezione features.