Utiliser un formulaire

L'un des points forts de PHP est sa capacit� � g�rer les formulaires. Le concept de base qui est important � comprendre est que tous les champs d'un formulaire seront automatiquement disponibles dans le script PHP d'action. Lisez le chapitre du manuel concernant les variables depuis des sources externes � PHP pour plus d'informations et d'exemples sur la fa�on d'utiliser les formulaires. Voici un exemple de formulaire HTML :

Exemple #1 Un simple formulaire HTML

<form action="action.php" method="post">
 <p>Votre nom : <input type="text" name="nom" /></p>
 <p>Votre �ge : <input type="text" name="age" /></p>
 <p><input type="submit" value="OK"></p>
</form>

Il n'y rien de particulier dans ce formulaire. Il est en HTML pur, sans aucune configuration particuli�re. Lorsque le visiteur remplit le formulaire, et clique sur le bouton OK, le fichier action.php est appel�. Dans ce fichier, vous pouvez �crire le script suivant :

Exemple #2 Afficher des donn�es issues d'un formulaire

Bonjour, <?php echo htmlspecialchars($_POST['nom']); ?>.
Tu as <?php echo (int)$_POST['age']; ?> ans.

Voici le r�sultat que vous pourriez obtenir, selon les valeurs que vous avez saisies :

Bonjour Jean.
Tu as 29 ans.

Mise � part les parties htmlspecialchars() et (int), ce script ne fait que des choses �videntes. htmlspecialchars() s'assure que tous les caract�res sp�ciaux HTML sont proprement encod�s afin d'�viter des injections de balises HTML et de Javascript dans vos pages. Pour l'�ge, vu que nous savons que c'est un entier, vous pouvez le convertir en un entier. Vous pouvez �galement demander � PHP de le faire automatiquement � votre place en utilisant l'extension filter. Les variables $_POST['nom'] et $_POST['age'] sont automatiquement cr��s par PHP. Un peu plus t�t dans ce tutoriel, nous avons utilis� la variable $_SERVER, une superglobale. Maintenant, nous avons introduit une autre superglobale $_POST qui contient toutes les donn�es envoy�es par la m�thode POST. Notez que dans notre formulaire, nous avons choisi la m�thode POST. Si vous avions utilis� la m�thode GET alors notre formulaire aurait plac� ses informations dans la variable $_GET, une autre superglobale. Vous pouvez aussi utiliser la variable $_REQUEST, si vous ne souhaitez pas vous embarrasser de la m�thode utilis�e. Elle contient un m�lange des donn�es de GET, POST, COOKIE et FILE. Voyez aussi la fonction import_request_variables().

Vous pouvez �galement utiliser des champs XForms dans PHP, m�me si vous vous sentez bien avec l'utilisation des formulaires HTML. Bien que le travail avec XForms ne soit pas fait pour les d�butants, vous pourriez �tre int�ress� par cette technologie. Nous avons �galement une courte introduction sur le traitement des donn�es re�ues par XForms dans notre section sur les fonctionnalit�s.