A la fin du TP du cours "Page protégée par mot de passe", il est proposé d'afficher le message "Mot de passe incorrect" en cas d'erreur sur le mot de passe.
Ce que je veux faire :
- Quand l'utilisateur n'entre rien dans la zone de texte et clique sur "Valider", il ne se passe rien (la page formulaire se réaffiche à l'identique)
- Quand l'utilisateur entre un mauvais mot de passe, le message "Mot de passe incorrect" s'affiche et invite à retourner au formulaire.
- Si le mot de passe est le bon, la page avec les codes s'affiche.
J'ai tenté ce code :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Page protegee par mot de passe</title>
</head>
<?php
// Si le mot de passe n'a pas été envoyé
if (!isset($_POST['mdp']))
{
?>
<form method="POST" action="formulairesolo_mdp.php">
<p>
Veuillez entrer un mot de passe : <br /><br />
<label>Zone : <input type="password" name="mdp" /></label>
<input type="submit" value="Valider" />
</p>
</form>
<?php
}
// Si le mot de passe n'est pas le bon
elseif ($_POST['mdp']!="kangourou")
{
echo '<p>Vous n\'avez pas entré le bon mot de passe !</p>';
echo '<p> Si vous voulez rentrer un nouveau mot de passe, vous pouvez <a href="formulairesolo_mdp.php">cliquer ici</a> pour revenir au formulaire</p>';
}
// Le mot de passe a été envoyé et il est bon
else
{
?>
<h1>Voici les codes d'accès :</h1>
<p><strong>CRD5-GTFT-CK65</strong></p>
<p>
Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
La NASA vous remercie de votre visite.
</p>
<?php
}
?>
</html>
Seulement, même si l'utilisateur ne rentre rien, le message "Mot de passe incorrect" s'affiche... Il semble sortir de la condition du if !isset($_POST['mdp'])
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP