Le Web est un environnement sans état, c'est-à-dire que les données d'une page sont perdues lorsque la page n'est plus affichée.
Pourtant, nous aurons besoin de retrouver les informations entrées dans un formulaire pour pouvoir les traiter.
Voyons les mécanismes qui entrent en jeu lors de la soumission d'un formulaire.
Dans un formulaire Web, l'attribut action de la balise <form> précise le nom de la page qui se chargera d'effectuer le traitement du formulaire.
C'est dans cette page qu'on pourra retrouver les informations du formulaire.
<form method="post" action="traitement.php">
Pour que le formulaire soit soumis, et qu'il soit possible de retrouver les informations qui y ont été entrées, une de ces situation doit être présente :
Ce bouton doit être placé à l'intérieur des balises <form ...>...</form>.
<form method="post" action="traitement.php">
<p>
<label class="aligne" for="code">Code :</label>
<input type="text" id="code" name="code" />
</p>
<p>
<input class="aligne" type="submit" value="Soumettre" name="soumettre" />
</p>
</form>
monformulaire.submit();
Lorsque le formulaire est soumis, les données entrées dans les champs du formulaire sont stockées dans une variable globale qui pourra être utilisée dans la page qui traite le formulaire.
Si le formulaire utilise la méthode get, les données sont stockés dans le vecteur $_GET.
Avec la méthode post, les données sont stockées dans le vecteur $_POST.
Les variables $_GET et $_POST sont des tableaux associatifs. Chaque information saisie dans le formulaire est stockée dans un élément.
La clé de chaque élément est le nom du champ (attribut name).
Par exemple, si le formulaire est entré comme suit :
<form method="post" action="traitement.php">
<p>
<label class="aligne" for="code">Code :</label>
<input type="text" id="code" name="code">
</p>
<p>
<input class="aligne" type="submit" value="Soumettre" name="soumettre">
</p>
</form>
Dans la page qui traite les données entrées, vous devez coder ceci :
if (!empty($_POST)) {
$code = $_POST['code']; // il faudra protéger cette donnée avant de l'enregistrer, de l'afficher à l'écran ou de l'utiliser dans une requête...
...
}
▼Publicité