Problème de mot mot de passe

Fermé
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017 - Modifié par antoinegilles le 8/03/2017 à 19:38
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017 - 9 mars 2017 à 09:52
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
A voir également:

6 réponses

Utilisateur anonyme
8 mars 2017 à 19:44
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
0
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017
8 mars 2017 à 20:06
Merci de ta réponse mais malheureusement la fonction trim ne fonctionne pas...
0
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017
8 mars 2017 à 20:10
!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
0
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017
8 mars 2017 à 20:11
j'ai oublié par ailleurs au < au doctype lors de mon collage
0
Utilisateur anonyme
8 mars 2017 à 20:19
<form method="post" "action">


action=".."
0
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017 > Utilisateur anonyme
8 mars 2017 à 21:13
Merci a toi !!! une erreur très bête de ma part ^^ je m'escuse du derangement.
0
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017
8 mars 2017 à 21:15
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38446 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 février 2025 4 737
8 mars 2017 à 23:44
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 ;

0
antoinegilles Messages postés 9 Date d'inscription mercredi 8 mars 2017 Statut Membre Dernière intervention 3 avril 2017
9 mars 2017 à 09:52
je te remercie Jordane de ton aide :)
0