AP – TP13 – PHP : Formulaires TP 13 – PHP : Formulaires 1- Structure d'un formulaire Question 1.1 – Saisir le document HTML5 (fichier authentification.html) donné ci-dessous et l'enregistrer dans le répertoire public_html/phplang/. Visualiser la page web dans un navigateur. <!doctype html> <html> <head> <meta charset="UTF­8"> <title>Authentification</title> </head> <body> <h4>Authentification :</h4> <form action="~nom/phplang/authentification.php" method="GET"> Nom : <input type="text" name="nom"/><br/> MDP : <input type="password" name="mdp"/><br/> <input type="submit" value="Valider"/> <input type="reset" value="Annuler"/> </form> </body> </html> Question 1.2 – Saisir le script PHP (fichier authentification.php) donné ci-dessous et l'enregistrer dans le répertoire public_html/phplang/. Visualiser la page web de la question précédente (fichier authentification.html) dans un navigateur, saisir un nom et un mot de passe, puis valider/annuler pour vérifier le bon fonctionnement du formulaire et du script PHP. <!doctype html> <html> <head> <meta charset="UTF­8"> <title>Authentification</title> </head> <body> <?php $nom = $_REQUEST["nom"] ; $mdp = $_REQUEST["mdp"] ; if($nom == "wallace" && $mdp == "baobab"){ echo "Authentification r&eacute;ussie." ; } else { echo "Echec à l'authentification." ; } ?> </body> </html> Question 1.3 – Recopier le fichier authentification.php dans le fichier authentification_2.php. Modifier le fichier authentification_2.php de façon à y introduire le formulaire dans le but de n'avoir qu'une seule page web (formulaire et résultat de la tentative d'authentification). Il faut donc gérer trois situations : ● Premier accès à la page : Seul le formulaire est affiché. ● Connexion refusée : Le formulaire et un message avertissant l'utilisateur de l'échec à l'authentification sont affichés. ● Connexion réussie : Seul un message indiquant à l'utilisateur que l'authentification s'est déroulée avec succès. Pour information, lors du premier accès à la page, les champs nom et mdp ne sont pas renseignés. Il n'existe donc pas d'éléments ayant pour clefs "nom" et "mdp" dans le tableau associatif $_REQUEST. Page 1 AP – TP13 – PHP : Formulaires Question 1.4. – Recopier le fichier de l'exercice précédent dans le fichier authentification_3.php. Puis, modifier ce nouveau fichier de façon à ... ● Créer un tableau de chaînes de caractères (variable $utilisateurs). Chaque chaîne de caractères représente un utilisateur sous la forme "nom_utilisateur:mot_de_passe", ● Créer une fonction nommée estRecensée() dont le rôle est de retourner VRAI si l'utilisateur dont le nom et mot de passe passés en paramètres est recensé dans la variable $utilisateurs et FAUX dans le cas contraire, ● Autoriser les utilisateurs recensés dans la variable $utilisateurs à se connecter. 2- Eléments d'un formulaire Question 2.1 – Bouton radio Rechercher le code du document HTML5 (fichier bouton_radio.html) proposant, sous la forme d'une liste de boutons radio (balise <input> de type radio), plusieurs langages de programmation ("PHP","Perl","Ruby","Python",...), ainsi que le code du script PHP (fichier bouton_radion.php) dont le rôle est de produire une page web dans laquelle le langage sélectionné est affiché. Question 2.2 – Case à cocher Rechercher le code du document HTML5 (fichier case_a_cocher.html) proposant une case à cocher (balise <input> de type checkbox) associée au message "Je d&eacute;veloppe en Python.", ainsi que le code du script PHP (fichier case_a_cocher.php) dont le rôle est de produire une page web affichant l'état de la case à cocher ("Je connais Python." ou "Je ne connais pas Python."). Question 2.3 – Cases à cocher Rechercher le code du document HTML5 (fichier cases_a_cocher.html) proposant, sous la forme d'une liste de cases à cocher, plusieurs langages de programmation, ainsi que le code du script PHP (fichier cases_a_cocher.php) dont le rôle est de produire une page web dans laquelle les langages sélectionnés sont affichés sous la forme d'une liste (balise <ul>). Question 2.4 – Cases à cocher et présentation tabulaire Recopier les fichiers cases_a_cocher.* dans les fichiers cases_a_cocher_tab.*. Modifier le paramètre action de la balise <form> dans le fichier cases_a_cocher_tab.html (associer la soumission du formulaire au bon script PHP). Modifier le fichier cases_a_cocher_tab.php de façon à afficher les langages sélectionnés dans un tableau (balise <table>). Question 2.5 – Liste déroulante Rechercher le code du document HTML5 (fichier liste_deroulante.html) proposant, sous la forme d'une liste déroulante (balise <select>), plusieurs langages de programmation, ainsi que le code du script PHP (fichier liste_deroulante.php) dont le rôle est de produire une page web dans laquelle le langage sélectionné est affiché. Question 2.6 – Liste à choix multiples Rechercher le code du document HTML5 (fichier selection_multiple.html) proposant, sous la forme d'une liste déroulante (balise <select> avec l'attribut multiple activé), plusieurs langages de programmation, ainsi que le code du script PHP (fichier selection_multiple.php) dont le rôle est de produire une page web dans laquelle les langages sélectionnés sont affichés sous forme tabulaire. Question 2.7 – Zone de texte Rechercher le code du document HTML5 (fichier zone_texte.html) dont le rôle est de permettre à l'utilisateur de donner son avis sur le langage Java dans une zone de texte (balise <textarea>). Rechercher ensuite le code du script PHP (fichier zone_texte.php) dont le rôle est de produire une page web permettant de visualiser le texte saisi. Page 2