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   -
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

  1. antoinegilles Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci de ta réponse mais malheureusement la fonction trim ne fonctionne pas...
    0
  2. antoinegilles Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    !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
    1. antoinegilles Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
       
      j'ai oublié par ailleurs au < au doctype lors de mon collage
      0
    2. Utilisateur anonyme
       
      <form method="post" "action">


      action=".."
      0
      1. antoinegilles Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   > Utilisateur anonyme
         
        Merci a toi !!! une erreur très bête de ma part ^^ je m'escuse du derangement.
        0
  3. antoinegilles Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
  6. antoinegilles Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    je te remercie Jordane de ton aide :)
    0