Ceci est une ancienne révision du document !
Nous avons vu qu'il était possible à une page HTML de demander des informations aux visiteurs grâce aux formulaires. Les pages HTML étant statiques, il a fallu découvrir le langage PHP pour pouvoir utiliser les informations transmises et générer une page web personnalisée.
Nous allons donc reprendre le formulaire précédent et générer une réponse à celui-ci.
Elle reprend le code vu précédemment et demande le nom, prénom, age et sexe du visiteur (le sexe est demandé par 2 méthodes différentes).
<file html formulaire.html > <!DOCTYPE html> <!–Déclaration de la page HTML –> <html lang=“fr”> <!– Début de page écrite en français –>
<head> <!-- Début entête -->
<meta charset="UTF-8"> <!-- Codage des caractères (important mais sera vu plus tard) -->
<title>Connaitre le visiteur</title>
<!--link href="style.css" rel="stylesheet" type="text/css" /> <!-- Autre fichier (ici mise en forme) utile à la page -->
</head> <!-- Fin de entête -->
<body> <!-- Début du corps -->
<h1>Une page pour faire connaissance</h1>
<p>Bonjour, <br />j'aimerai vous connaître</p>
<FORM action="reponse.php" method="POST">
<FIELDSET>
<LEGEND>Identité</LEGEND>
<LABEL for='n'>Votre nom ? </LABEL><INPUT type="text" name="nom" id='n' size="30" /><BR/>
<LABEL for='p'>Votre prénom ? <INPUT type="text" name="prenom" id='p' size="20" />
</FIELDSET>
<FIELDSET>
<LEGEND>Informations</LEGEND>
<LABEL for='a'>Votre age ? </LABEL><INPUT type="text" name="age" id='a' size="3" /><BR/>
votre sexe méthode 1 ?
<INPUT type="radio" name="sexe1" value="M" id='m' /> <LABEL for='m'>Masculin</LABEL>
<INPUT type="radio" name="sexe1" value="F" id='f' /> <LABEL for='f'>Féminin</LABEL>
<INPUT type="radio" name="sexe1" value="?" id='i' checked /> <LABEL for='f'>indeterminé</LABEL>
<BR/>votre sexe méthode 2 ?
<SELECT name="sexe2">
<OPTION value="?" selected>Choisir</OPTION>
<OPTION value="M">Masculin</OPTION>
<OPTION value="F">Féminin</OPTION>
</SELECT>
</FIELDSET>
<INPUT type="submit" value="Envoyer" name="ok" />
<INPUT type="reset" value="Effacer" />
</FORM>
</body> <!-- Fin du corps -->
</html> <!– Fin de la page –> <file>
Les données du formulaire sont transmises dans un tableau $_POST. Il correspond à l'attribut “method” et il contient une liste de variables et leurs valeurs : $_POST[“nom”], $_POST[“prenom”], $_POST[“age”], $_POST[“sexe1”], $_POST[“sexe2”], $_POST[“ok”]. Le nom des variables correspond à la valeur de l'attribut “name” des champs du formulaire.
La validation du formulaire le transmet son contenu à la page indiquée dans son attribut “action” soit “reponse.php” (validation = clic sur “Envoyer”). Si “action='#”“, il sera transmis à la page qui a demandé les informations (même page).
L’existence d'une variable peut être testée par la fonction isset(variable);
Elle précisera au visiteur les informations transmises et sera composé de HTML et de PHP.
<file php reponse.php> <?php
if (isset ($_POST]) {
...
}
<file>