Problème de mot mot de passe [Fermé]

Signaler
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017
-
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017
-
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

6 réponses


Bonsoir,

essayez donc ceci

if (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
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017

Merci de ta réponse mais malheureusement la fonction trim ne fonctionne pas...
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017

!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
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017

j'ai oublié par ailleurs au < au doctype lors de mon collage
Messages postés
532
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
8 mars 2018
93
<form method="post" "action">


action=".."
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017
>
Messages postés
532
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
8 mars 2018

Merci a toi !!! une erreur très bête de ma part ^^ je m'escuse du derangement.
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017

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?
Messages postés
32054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 391
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 ;

Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017

je te remercie Jordane de ton aide :)