top of page

FORMULAIRES

En HTML, on a la possibilité de faire des formulaire. Cela se fait avec l'élément FORM suivi des paramètres (boutons, zones de texte, menus). Les formulaires permettent d'envoyer au serveur des informations que l’utilisateur aurait rentré dans les cases du formulaire.

La structure est la suivante :

<form action=" " method="get">

    <input type="text" name="val" value="Ecrire ici le texte qui sera écrit dans la case (exemple : Ecrire ici votre nom)">

    <input type="submit" value="Ecrire ici le texte qui sera écrit sur le bouton (exemple : Valider)">

</form>

Il faut écrire un INPUT par case/bouton.

Ici le premier INPUT est de type text (type="text") donc l'utilisateur pourra écrire dedans. Pour le serveur le texte sera enregistré dans la variable nommée val (name="val").

 

Le deuxième INPUT est un bouton de validation (type="submit"), c’est-à-dire que l'utilisateur pourra cliquez dessus pour envoyer le questionnaire au serveur. 

L’attribut action désigne le fichier (programme) auquel seront fournis les valeurs (par défaut c’est la page chargée).

Pour le paramètre method de la balise FORM, on a deux possibilités d'options :

- GET (method="get") : après validation, les valeurs entrées par l'utilisateur sont affichées dans l'url de la page.

- POST (method="post") : après validation, les valeurs entrées par l'utilisateur sont transmises de manière masquée mais non cryptée. Elles sont envoyées par HTTP.

À savoir : le type password (type="password") permet de remplacer chaque caractère par un symbole (astérisque ou point). Cela peut être utile pour les mots de passe par exemple.

Le type radio (type="radio") oblige à l'utilisateur de sélectionner seulement un seul bouton (utile pour les questions à choix unique). Il faut donc utiliser le même nom (name=) pour les boutons.

<form action="" method="get" >

    <p>

        <input type="radio" name="QEtudes" value="EC" checked="checked" > &Eacute;tudes courtes

        <input type="radio" name="QEtudes" value="EL" checked="checked" > &Eacute;tudes longues

    </p>

</form>

Le type checkbox (type="checkbox") permet à l'utilisateur de cocher plusieurs cases (utile pour les questions à choix multiples). Il faut donc utiliser différents noms (name=) pour les cases. 

Un menu déroulant est utile car on ne donne pas le choix à l'utilisateur d'écrire sa réponse. L'utilisateur ne peut sélectionner qu'une réponse parmi une liste de réponses.

<form action="action.php" method="get" >

    <h1>A. Donnes par ordre de pr&eacute;f&eacute;rence 2 choix de poursuites d'&eacute;tudes parmi les propositions suivante :</h1>

    <p>

         <select name="Choix1" >

             <option value="CP" > Classes pr&eacute;paratoires</option>

             <option value="BTS" > BTS </option>

             <option value="DUT" > DUT </option>

             <option value="Fac" > Facult&eacute; </option>

        </select>

        <select name="Choix2">

            <option value="CP" > Classes pr&eacute;paratoires</option>

            <option value="BTS" > BTS </option>

            <option value="DUT" > DUT </option>

            <option value="Fac" > Facult&eacute; </option>

        </select>

    </p>

</form>

Ici il y a deux menus déroulants (deux balises SELECT). De plus, chaque menu déroulant a 4 options (4 balises OPTION).j

Il faut écrire entre les balises OPTION le texte écrit dans le menu déroulant.

Il est parfois utile de faire un menu déroulant avec une longue liste de nombres. Pour cela, il faut faire une boucle en PHP.

<select name="Jour">

    <?php

        for($i=1; $i<=31; $i++) {

            echo "<option value=" . $i . ">" . $i . "</option>"; /* Pour écrire 31 fois la ligne de code : <option value=" compteur (de 1 à 31)  > compteur (de 1 à 31) </option> */

        }

    ?>

</select>

Enfin, encore avec du PHP, on peut autoriser la lecture d’une page HTML pendant 1 minutes (cookie actif seulement durant une minute (60 secondes)), par exemple. Et cela après une vérification de l'authentification (si les données rentrées dans le formulaire correspondent à des valeurs prédéfinies).

<?php

    if($_POST["identidiant"] == "stid" && $_POST["mot_de_passe"] == "14") { /* Si le client a bien écrit stid comme identifiant et 14 comme mot de passe. */

        setcookie("sessionid", "123", time() + 60); /* Génère un cookie durant 60 secondes et ayant comme valeur 123 pour la clé sessionid. */

        header('Location: écrire ici l'url de la page dans laquelle on veut renvoyer le client');

    }

?>

$_POST ou $_GET sont des tableaux associatif contenant tous les couples clé et valeur des données d'un formulaire. Chaque valeur des tableau est associé à une clé.

Pour accéder à la valeur d'une variable / clé, on écrit la variable entre les crochets.

 

Pour insérer des données d'un tableau ($_GET par exemple) dans un fichier csv, on utilise fputcsv.

 

<?php
   $fichier=fopen("fichier.csv", "a");
   fputcsv($fichier, $_GET);
   fclose($fichier);
?>

bottom of page