Formation PUB010 : PHP, 2022 Traiter un formulaire Web avec PHP

17.3 Soumettre le formulaire et récupérer les données saisies


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.

Où est-ce que le traitement du formulaire sera réalisé?

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.

HTML

<form method="post" action="traitement.php">

Soumission du formulaire

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 :

  • L'usager a cliqué sur un bouton <input type="submit"> ou <input type="button">.

    Ce bouton doit être placé à l'intérieur des balises <form ...>...</form>.

    HTML

    <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>

  • Un gestionnaire d'événement JavaScript a lancé la méthode submit() sur le formulaire.
    JavaScript

    monformulaire.submit();

Vecteurs $_GET et $_POST

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.

Indices du vecteur

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 :

HTML

<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 :

Fichier traitement.php

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é

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre