HTML5 - CSS 2.x/3
PHP / MySQL
FORTH ...

Introduction aux formulaires

Le formulaire est la pierre angulaire de tout site web interactif. Sans les formulaires, un site web serait cantonné à un simple amas de liens hypertexte sans autre forme d'interactivité.

L'élément FORM

C'est le but d'un site web: pouvoir traiter des données et restituer des résultats de traitement sur ces données. On distinguera:

Cette interactivité issue des données saisies par l'utilisateur s'appuie sur l'élément form:

<form method='POST'>
    ...ici la description des champs de saisie...
</form>

Ici notre élément form a comme attribut method avec la valeur POST. Il n'existe que deux valeurs possibles pour cet attribut: POST et GET.

Préférez l'attribut POST qui est celui généralement employé pour la très grande majorité des formulaires.

Les champs de saisie

Notre élément form encadre les champs de saisie, ici un champ input:

<form method='POST'>
    <p>votre age:<input type='text' name='age'/></p>
</form>

L'élément input indique que le formulaire doit contenir un champ de saisie de type texte. Ce champ est nommé avec l'atrribut name avec la valeur age

Notre formulaire ne serait pas complet sans un bouton à cliquer pour indiquer que la saisie est complète:

<form method='POST'>
    <p>votre age:<input type='text' name='age'/></p>
    <p><input type='submit' value='envoyer'/></p>
</form>

Le bouton permettant d'envoyer les données vers le serveur est indiqué par l'élément input et l'attribut type avec la valeur submit.

Voici à quoi ressemble notre formulaire très simple:

votre age:

Soumission des données du formulaire

Les données saisies dans un formulaire doivent être transmises à un script. Pour ce faire, on va rajouter l'attribut action à form:

<form method="POST" action="aficheAge.php">
    <p>votre age:<input type='text' name='age'/></p>
    <p><input type='submit' value='envoyer'/></p>
</form>

Ici, le contenu de l'attribut action est tout à fait semblable à un lien hypertexte effectué au travers de l'élément a et son attribut href. Pour l'élément form, dès que le formulaire est soumis, on passe le traitement au script indiqué comme paramètre de l'attribut action, ici le script afficheAge.php.

Que se passe-t-il quand on soumet le formulaire?

Contrairement à un lien hypertexte réalisé par l'élément a, la soumission du formulaire transmet également un en-tête transmis en méthode POST et cet en-tête contient les données du formulaire.

Traitement des données du formulaire

Pour un formulaire utilisant la méthode POST, les données sont récupérées au travers d'une variable globale $_POST. C'est un tableau indexé qui répertorie toutes les valeurs du formulaire de départ.

Dans notre formulaire en exemple ci-avant, nous avons défini un champ nommé age. Dans le script qui va traiter le contenu du formulaire, on va retrouver cette donnée age dans $_POST['age'].

Rajoutons un champ de saisie nommé taille

<form method="POST" action="aficheAge.php">
    <p>votre age:<input type='text' name='age'/></p>
    <p>votre taill:<input type='text' name='taille'/> en cm</p>
    <p><input type='submit' value='envoyer'/></p>
</form>

Du coté du script chargé de traiter les données transmises par le formulaire, nous avons maintenant la donnée taille dans $_POST['taille']

.

En fait, pour savoir ce que le formulaire a transmis, nous pouvons utiliser print_r en début de script pendant la phase de mise au point:

<?php
print_r($_POST);        

Ceci vous permettra de visualiser le contenu des données du formulaire reçues par votre script de traitement des données.

Pour tous ceux qui maîtrisent déja les formulaires, cette introduction a pu leur sembler inutile. Aussi nous allons maintenant entrer dans le vif du sujet:
le formulaire de base avec Zend Framework

Tous les articles sur ce thème