Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur de script pour un mot de passe

le mot de passe est entrer dans un formulaire et le code fonctionne exepté le fait qu'un message d'erreur apparait.

    8 mars 2007 à 14:28:24

    Bonjour, j'apprend le PhP depuis maintenant une semaine, ( il faut un début à tout :D ) Et j'en suis au TP ou il faut faire une page qui dévoile un texte seulement si un certain mot de passe est entré. Mon code fonctionne, c'est à dire que quand on entre kangourou, un texte s'affiche, et quand on entre autre chose, rien ne s'affiche :p . Par contre, au premier affichage de la page, un message d'erreur s'affiche :( :

    Notice: Undefined index: motdepasse in d:\documents\sites web\php\brouillon\motdepasse.php on line 16

    A part ça, le code fonctionne. Le voici :

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <form action="" method="get">
    <p>
    <input type="password" name="motdepasse" />
    <input type="submit" value="Valider" />

    <?php
    $mdp = "kangourou";

    if( $_GET["motdepasse"] == $mdp )
    {
    ?>
    <html>
    <head>
    <style type="text/css">
    <!--
    .Style1 {
            font-family: Verdana, Arial, Helvetica, sans-serif;
            font-weight: bold;
    }
    -->
    </style>
    </head>

    <body>
    <span class="Style1">Bonjour, bienvenu sur la page secrete. le mot de passe &eacute;tait bien kangourou. ;o)</span>
    </body>
    </html>
    <?php
    }
    ?>
    </body>
    </html>


    Je tien à preciser que j'ai regardé la solution, mais j'ai voulu quand même essayer de faire mon propre script, et je ne comprend pas ou est l'erreur.
    Merci dde me renseigner :)
    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2007 à 14:42:21

      Déjà je pense qu'il est IMPORTANT de prendre des bonnes habitude en HTML.
      Donc quand tu ouvres une balise <p> ou encore une balise <form> pense bien à les fermer!!

      <form action="" method="get">
      <p>
      <input type="password" name="motdepasse" />
      <input type="submit" value="Valider" />
      </p>
      </form>


      Ensuite, je ne pense pas me tromper en disant que, dans les cours de m@teo, celui-ci a sûrement dsi qu'il fallait tester l'existance des variables issu d'un formulaire... Si mes souvenirs sont bon c'était quelque chose du genre:


      if( isset($_GET["motdepasse"]))


      Ce qui donnerai avec ton code:

      if( isset($_GET["motdepasse"]) && $_GET["motdepasse"] == $mdp)


      Je pense que çà devrai mieux marcher...
      Pour expliquer un peu, la première fois que tu charge ta page, arriver à la condition pour tester ton mot de passe, la variable $_GET[motdepasse] n'existe pas... et pour cause, tu n'as pas encore remplit le formulaire... :D
      Donc une erreur est générée!

      Tandis qu'avec isset(), tu vérifie si la variable existe donc pas d'erreur.

      Sinon, une dernière chose, il me semble que tu travail avec une seul page... donc les balise <html><head><body>.... de ta condition sont superflu...
      Mets ta balise style dans les balise d'entête de ta page! et mets seulement le message à afficher dans ta condition... car si tu affiches le code source de ta page après validation du mot de passe tu verras qu'il y a deux pages html en une....
      • Partager sur Facebook
      • Partager sur Twitter
        8 mars 2007 à 14:54:21

        Merci beaucoup :D
        Non seulement ce site est génial, mais les forumeurs le sont aussi !
        Maintenant il ne me reste plus qu'à utiliser isset, car en fait je n'avais pas compris pourquoi il était si important.
        Merci encore
        • Partager sur Facebook
        • Partager sur Twitter
          8 mars 2007 à 14:56:19

          De rien et bon courage! Je pense que tu vas bien triper avec le PHP (eh mais çà rime :D)
          • Partager sur Facebook
          • Partager sur Twitter

          erreur de script pour un mot de passe

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown