Problème de mot mot de passe
antoinegilles
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
antoinegilles Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
antoinegilles Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour, apres avoir lu le tutoriel d'openclassroom sur le TP ou l'on doit créer un mod de passe qui permet, si celui-ci est juste, d'accéder a notre deuxieme page. cela fait des heures que je cherche et en vain ne trouve pas mon erreur je vous envoie ci-dessous mon codage en esperant que vous pouvez m'aider
page 1 ( .php):
<form action="secret.php" method="post">
<p>
<input type="password" name="mot_de_passe" />
<input type ="submit" value="Valider" />
</p>
</form>
page 2 (.php):
<!Doctype HTML>
<html>
<head>
<meta charset="utf-8" />
<title>bien joué</title>
</head>
<body>
<?php
if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "k")
{
echo 'bien joué mon pote';
}
else
{
echo 'mot de passe incorrect';
}
?>
</body>
</html>
Vous m'escuserez de ne pas montrer les balises de base a la page 1 c'est pour des raisons confidentiels, mais après avoir bien cherché, il n'y a pas d'erreur dans ces types de balises ( tel que <html>ou <body> ou encore <p> )..
Antoine GILLES
page 1 ( .php):
<form action="secret.php" method="post">
<p>
<input type="password" name="mot_de_passe" />
<input type ="submit" value="Valider" />
</p>
</form>
page 2 (.php):
<!Doctype HTML>
<html>
<head>
<meta charset="utf-8" />
<title>bien joué</title>
</head>
<body>
<?php
if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "k")
{
echo 'bien joué mon pote';
}
else
{
echo 'mot de passe incorrect';
}
?>
</body>
</html>
Vous m'escuserez de ne pas montrer les balises de base a la page 1 c'est pour des raisons confidentiels, mais après avoir bien cherché, il n'y a pas d'erreur dans ces types de balises ( tel que <html>ou <body> ou encore <p> )..
Antoine GILLES
6 réponses
-
Bonsoir,
essayez donc ceciif (isset($_POST['mot_de_passe']) AND trim($_POST['mot_de_passe']) == "k")
https://www.php.net/manual/fr/function.trim.php
en espérant que cela résoudra votre problème
-
Merci de ta réponse mais malheureusement la fonction trim ne fonctionne pas...
-
!Doctype html>
<html>
<head>
<link rel="stylesheet" href="covoit.css">
<meta charset="utf-8" />
</head>
<body>
<h1 class="titreprincipal"> <strong>XXXX </strong></h1>
<form method="post" "action">
<p class="connexion">
Connectez vous !
</p>
<p class="champpseudo">
<input type="text" name="pseudo" id="pseudo" maxlength="15"
placeholder="pseudo">
</p>
<form action="secret.php" method="post">
<p>
<input type="password" name="mot_de_passe" />
<input type ="submit" value="Valider" />
</p>
</form>
<br>
<header class="intro>">
<h2>Description</h2>
</header>
</body>
</html>
Voici la totalité de mon code de la page 1 -
cependant un nouveau problème , quand j'arrive sur ma deuxieme page avec le bon mot de passe, il me dit mot de passe incorrect, pourtant ma première balise echo devrait fonctionner?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Page 1<!Doctype html> <html> <head> <link rel="stylesheet" href="covoit.css"> <meta charset="utf-8" /> </head> <body> <h1 class="titreprincipal"> <strong>XXXX </strong></h1> <form method="post" action="secret.php"> <p class="connexion"> Connectez vous ! </p> <p class="champpseudo"> <input type="text" name="pseudo" id="pseudo" maxlength="15" placeholder="pseudo"> </p> <p> <input type="password" name="mot_de_passe" /> <input type ="submit" value="Valider" /> </p> </form> <br> <header class="intro>"> <h2>Description</h2> </header> </body> </html>
Page 2 ("secret.php")<?php //Affichage des erreurs php si il y en a error_reporting(E_ALL); ini_set('display-errors','on'); //récupération PROPRE des variables AVANT de les utiliser //=> variable = condition ? valeur si vrai : valeur si faux ; $pseudo = !empty($_POST['pseudo']) ? trim($_POST['pseudo']) : NULL; $mot_de_passe = !empty($_POST['mot_de_passe']) ? trim($_POST['mot_de_passe']) : NULL; //test du mot de passe $resultat = $mot_de_passe === "k" ? 'bien joué '.$pseudo : 'mot de passe incorrect'; ?> <!Doctype HTML> <html> <head> <meta charset="utf-8" /> <title>bien joué</title> </head> <body> <?php echo $resultat; ?> </body> </html>
NB: On essaye de placer le maximum de php en dehors du html. c'est plus facile à maintenir ensuite.
Nb² : l'écriture des tests (et récupération des variables) se nomme : Ecriture TERNAIRE (ça remplace un IF ELSE )
La syntaxe c'est : variable = (condition) ? valeur si vrai : valeur si faux ;
-
je te remercie Jordane de ton aide :)