Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PHP] Aide du 1e TP

Sujet résolu
    12 janvier 2006 à 17:23:23

    Bonjour tout le monde !

    Voilà, moi, un recaler du PHP, REFAIT le 1e tp de php et devinez quoi ? une erreur ...

    la premiere fois que la page se "genere", il y a une erreur mais pas apres



    <?php
    if (isset($_POST['mot_de_passe']) AND $mot_de_passe = "toto")
    {
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
      <head>
       <title> Page MdP </title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       </head>
      <body>
      <p>le code est 000-449-477-541</p>

      </body>
    </html>
    <?php
    }
    else
    {
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
      <head>
       <title> Page MdP </title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       </head>
      <body>
     <form method="post" action="index.php"> <!-- toute cette page se nomme index.php -->
      <p>
       <label> Mot de Passe :
        <input type="password" name="mot_de_passe" />
        <input type="submit" />
       </label>
      </p>
     </form>

      </body>
    </html>

    <?php

    }

    ?>


    Bien evidemment je ne veux pas le resultat de mateo ou bien les vôtres mais juste la rectification de ce code et pourquoi c'est pas juste

    Merci d'avance

    EDIT: argh il y a un probleme ça ne m'affiche pas ce que ça m'as afficher tout à l'heure
    • Partager sur Facebook
    • Partager sur Twitter
      12 janvier 2006 à 17:27:31

      Salut!
      Remplace
      if (isset($_POST['mot_de_passe']) AND $mot_de_passe = "toto")
      {

      par

      if (isset($_POST['mot_de_passe']))
      {
      $mot_de_passe = htmlentities($_POST['mot_de_passe']);
      if($mot_de_passe = "toto")
      {

      et après tu continue ton code

      En fait la variable $mot_de_passe n'éxiste pas
      • Partager sur Facebook
      • Partager sur Twitter
        12 janvier 2006 à 17:33:01

        Ba bien spur l'ami on va corriger ton code :D
        D'ailleur l'erreur est doute bête je suis sûr que tu va t'en vouloir :lol:

        Enfin il y à pas qu'une seul erreur ;)
        Regarde bien, déjà tu oublie de fermer ton premier if avec une accolade }
        La deuxième erreur et la plus importante, regarde ici :
        if(isset($_POST['mot_de_passe']) AND $mot_de_passe = "toto")


        Ce code dit :
        Si la variable $_POST['mot_de_passe'] existe et que le mot de passe est vaut toto !!
        Alors qu'il faudrait plutôt que sa dise :
        Si la variable $_POST['mot_de_passe'] existe et que le mot de passe est égale à toto.

        Donc il faut mettre deux signe égale ;)
        Voici la correction de ton code :
        <?php if(isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "toto") { ?>

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
         <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
          <head>
           <title> Page MdP </title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           </head>
          <body>
          <p>le code est 000-449-477-541</p>

          </body>
        </html>
        <?php } else { ?>

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
         <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
          <head>
           <title> Page MdP </title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           </head>
          <body>
         <form method="post" action="index.php"> <!-- toute cette page se nomme index.php -->
          <p>
           <label> Mot de Passe :
            <input type="password" name="mot_de_passe" />
            <input type="submit" />
           </label>
          </p>
         </form>

          </body>
        </html>

        <?php } ?>


        Edit : Merci minirop, je suis ête sur ce coup, je signale qu'il manque un = et je le rajoute pas :lol:
        • Partager sur Facebook
        • Partager sur Twitter
          12 janvier 2006 à 17:37:02

          et je rajouterais qu'il faut 2 = :
          <?php if(isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "toto") { ?>
          • Partager sur Facebook
          • Partager sur Twitter
            12 janvier 2006 à 17:46:31

            je suis bête :D

            Merci !

            Si je recapitule mes erreurs :
            1/ il fallait mettre
            $_POST['mot_de_passe']


            car c'est ce qu'on ecrira dans le formulaire

            2/ un egale (=) veut dire 'vaut'
            deux egale (==) veut dire 'est egale'
            il y a aussi trois egal mais j'ai oublié la signification :p

            Merci encore !

            EDIT: rooh ! j'ai oublié de cocher pour dire que le probleme est resolu !
            • Partager sur Facebook
            • Partager sur Twitter
              13 janvier 2006 à 13:32:19

              Mais il y a un truc qui me chiffonne depuis hier 'valoir' et 'égale à'
              c'est identique non ? quelle difference ?

              (en passant je mets le probleme principal resolu)
              • Partager sur Facebook
              • Partager sur Twitter
                13 janvier 2006 à 16:34:56

                Ba enfaite nan, regarde si jamais valoir est égale serait la même chose comment pourrait tu faire la différence entre quelques chose qui vaut quelque et dasn une condition comment PHP pourrait savoir si quelque chose égale x ?

                Met toi ce petit code dans la tête ;)
                $variable = 1 // Variable vaut !
                $variable == 1 // Est-ce que variable est égale à 1 ?, Note on trouve ce genre de chose que dans des conditions ou boucles

                Tu remarque que à la première ligne on affirme une valeur (d' ou le !) alors que dans la seconde on regarde si une valeur vaut 1 :D

                C'est pas très claire mais sa va venir avec le temps :)
                • Partager sur Facebook
                • Partager sur Twitter
                  13 janvier 2006 à 16:38:05

                  Citation : Kyoshiro_Mibu

                  Mais il y a un truc qui me chiffonne depuis hier 'valoir' et 'égale à'
                  c'est identique non ? quelle difference ?


                  je dirais que quand on dit "valoir" on parle du contenu de la variable et quand on dit "est égal" on regarde juste si c'est vrai ou faux.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 janvier 2006 à 16:59:17

                    ah ! ok, je comprend un peu plus !

                    Merci (pour la 3e fois :p )
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [PHP] Aide du 1e TP

                    × 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