TP 13 – PHP : Formulaires - daigl-ap

publicité
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é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é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
Téléchargement