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
-
antoinegilles
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")

http://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
antoinegilles
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
Rocailleux
Messages postés
542
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
8 mars 2018
74
<form method="post" "action">


action=".."
antoinegilles
Messages postés
9
Date d'inscription
mercredi 8 mars 2017
Statut
Membre
Dernière intervention
3 avril 2017
> Rocailleux
Messages postés
542
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
27277
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2020
2016
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 :)