Bonjour à tous,
Je suis en train de découvrir et d'apprendre les bases de PHP...
Ce que je voudrais faire: à travers un formulaire qui demande le prénom et le mot de passe (préalablement communiqué: kangourou), mettre en ligne une page qui donne des informations confidentielles. Si on n'a pas le mot de passe ou s'il est erroné, la page confidentielle ne s'affiche pas. J'ai atteint mon but en créant 2 pages, formulaire.php et confidentiel.php
Pour corser la difficulté, je voudrais n'avoir qu'une seule page qui:
- afficherait le formulaire (sans données);
- après envoi du formulaire (sur formulaire.php), reçoit les données _POST si elles sont valides. Si celles-ci ne sont pas valides, affichage "mot de passe incorrect".
Pour résoudre ce problème, ma logique c'est d'utiliser le if (afficher le formulaire), elseif (Mot de passe incorrect), else (affichage infos confidentielles). Seulement, je bloque sur l'organisation du code, la bonne syntaxe pour mêler PHP et HTML et/ ou vice versa. J'ai testé plusieurs choses différentes qui donnent des résultats mais c'est l'un ou l'autre. Le code ci-dessous n'est pas bon non plus, je le sais mais, c'est pour que vous voyez ce que j'ai fait.
Pouvez-vous m'aider à avancer svp?
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Formulaire pour accès données NASA</title> </head> <body> <?php if (!isset($_POST['passwordSaisi']) AND $_POST['prenom']) { ?> <h3 style="text-align:center; color: blue">Vous êtes sur la page d'authentification préalable à l'accès aux données de la NASA.</h3><br> <div> <form action="formulaire.php" method="post" style="text-align:center; border:solid blue; margin-left:300px; margin-right:300px; height:200px"><br> <label for="prenom">Votre prénom</label> <input type="text" name="prenom" required /><br><br> <label for="motdepasse">Saisir le mot de passe qui vous a été donné</label> <input type="password" name="passwordSaisi" /><br><br> <input type="submit" name="validation" value="OK" /><br> </form> </div> <?php } elseif (isset($_POST['passwordSaisi']) AND ($_POST['passwordSaisi']) != "kangourou") { echo "Mot de passe incorrect; il doit avoir entre 4 et 10 caractères. Référez-vous au mail que vous avez précédemment reçu; le mot de passe y est indiqué.<br /><br /><br />"; echo "<a href='formulaire.php'>Cliquez ici pour saisir de nouveau le mot de passe.</a>"; } else { echo "Bienvenu(e)" . $_POST['prenom'] . "! Les données de la NASA sont à ta disposition sur cette page.<br />"; } ?> </body> </html>
Merci d'avance.
Partager