Beruflich Dokumente
Kultur Dokumente
3.
quoi doit-on rflchir sur notre brouillon ? Au problme que vous vous posez (qu'est-ce que je veux arriver faire?). Au schma du code, c'est--dire que vous allez commencer le dcouper en plusieurs morceaux, eux-mmes dcoups en petits morceaux (c'est plus facile avaler). Aux fonctions et aux connaissances en PHP dont vous allez avoir besoin (pour tre srs que vous les utilisez convenablement). Et pour montrer l'exemple, nous allons suivre cette liste pour notre TP. Problme pos On doit protger l'accs une page par un mot de passe. La page ne doit pas s'afficher si l'on n'a pas le mot de passe. Schma du code Pour que l'utilisateur puisse entrer le mot de passe, le plus simple est de crer un formulaire. Celui-ci appellera la page protge et lui enverra le mot de passe. Un exemple de ce type de page est reprsent la figure suivante. L'accs au contenu de la page ne sera autoris que si le mot de passe fourni par l'utilisateur est kangourou.
Vous devez donc crer deux pages web : formulaire.php : contient un simple formulaire comme vous savez les faire ; secret.php : contient les codes secrets mais ne les affiche que si on lui donne le mot de passe. Connaissances requises Nous avons dtaill les connaissances requises au dbut de ce chapitre. Vous allez voir que ce TP n'est qu'une simple application pratique de ce que vous connaissez dj, mais cela sera une bonne occasion de vous entraner. ;-)
formulaire.php
Comme vous le savez, il y a deux pages crer. Commenons par la plus simple, formulaire.php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Page protge par mot de passe</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <p>Veuillez entrer le mot de passe pour obtenir les codes d'accs au serveur central de la NASA :</p> <form action="secret.php" method="post"> <p> <input type="password" name="mot_de_passe" /> <input type="submit" value="Valider" /> </p> </form> <p>Cette page est rserve au personnel de la NASA. Si vous ne travaillez pas la NASA, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p> </body> </html>
secret.php
Maintenant, intressons-nous la page secret.php qui est appele par le formulaire.
<head> <title>Codes d'accs au serveur central de la NASA</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <?php if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "kangourou") // Si le mot de passe est bon { // On affiche les codes ?> <h1>Voici les codes d'accs :</h1> <p><strong>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</strong></p> <p> Cette page est rserve au personnel de la NASA. N'oubliez pas de la visiter rgulirement car les codes d'accs sont changs toutes les semaines.<br /> La NASA vous remercie de votre visite. </p> <?php } else // Sinon, on affiche un message d'erreur { echo '<p>Mot de passe incorrect</p>'; } ?> </body> </html>