Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code qui plante

ENCORE

    20 mai 2006 à 17:27:21

    Bonjours.
    Voila j'ai fait un site protégé par un mot de pass.
    Mais il faut que chaque personnes est un pass qui lui est propre
    J'ai fait une base de donné avec le mot de pass le nom et l'adresse de chaque personne.
    Voici un teste

    mot_de_pass.php
    <html>
    <head>
    <title>Bloquage</title>
    </head>
    <body>

    <form action="compte.php" method="post">
    Quel est votre mot passe ?
    <input type="text" name="pass" value="">
    <input type="submit" value="Cliquez ici">
    </form>
    </body>
    </html>


    compte.php
    <?php
    mysql_connect("localhost", "root", ""); // Connexion à MySQL
    mysql_select_db("masterworld"); // Sélection de la base coursphp

    $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL


    // On fait une boucle pour lister tout ce que contient la table :

    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>

    <?php $donnees['mot_de_pass']
    if $code = $donnees['mot_de_pass']
    {
    Bienvenue a masterworld
    }
    ?>

    <?php
    }

    mysql_close(); // Déconnexion de MySQL
    ?>


    Bon bein normalement il y a un formulair qui apparait et si le mot de pass inscrit coresspond a l'un des mot de pass d'un membre alors il voie apparaitre BIENVENUE et tout est au mieu dans le meilleur des mondes :D






    Seulement voila, le résultat donne ceci:
    Parse error: parse error in c:\program files\easyphp1-8\www\dossier 1\compte.php on line 15 o_O

    Quelqu'un peut m'aider :-°
    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2006 à 17:29:49

      Voila:
      <?php
      mysql_connect("localhost", "root", ""); // Connexion à MySQL
      mysql_select_db("masterworld"); // Sélection de la base coursphp

      $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL

      // On fait une boucle pour lister tout ce que contient la table :

      while ($donnees = mysql_fetch_array($reponse) )
      {
              $donnees['mot_de_pass'];
              if ($code == $donnees['mot_de_pass'])
              {
                      echo 'Bienvenue a masterworld';
              }
      }
      mysql_close(); // Déconnexion de MySQL
      ?>
      • Partager sur Facebook
      • Partager sur Twitter
        20 mai 2006 à 17:30:07

        Hum :

        if $code = $donnees['mot_de_pass']

        ===>

        if ($code = $donnees['mot_de_pass'])

        Edit: grilled =)
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 mai 2006 à 17:30:20

          {
          Bienvenue a masterworld
          }

          Pas de echo, ou de fermeture de PHP, evidemment, ça bug :/
          • Partager sur Facebook
          • Partager sur Twitter
            20 mai 2006 à 17:32:13

            Tu as meme pas besoin de mettre $donnees['mot_de_pass']; je pense..
            Ceci devrait etre bon :
            <?php
            mysql_connect("localhost", "root", ""); // Connexion à MySQL
            mysql_select_db("masterworld"); // Sélection de la base coursphp

            $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL

            // On fait une boucle pour lister tout ce que contient la table :

            while ($donnees = mysql_fetch_array($reponse) )
            {
                    if ($code == $donnees['mot_de_pass'])
                    {
                            echo 'Bienvenue a masterworld';
                    }
            }
            mysql_close(); // Déconnexion de MySQL
            ?>


            EDIT tu as aussi oublié le POST pour les champs...
            • Partager sur Facebook
            • Partager sur Twitter
              20 mai 2006 à 17:33:45

              :p pas mal les erreurs ! t'aurais pu cherché ^^
              En fait remplace ça:
              <?php $donnees['mot_de_pass']
              if $code = $donnees['mot_de_pass']
              {
              Bienvenue a masterworld
              }
              ?>


              Par ça:

              <?php $donnees['mot_de_pass']
              if ($code = $donnees['mot_de_pass']) //Les parenthèses !!!!!
              {
              echo 'Bienvenue a masterworld'; //on écrit pas dans le vide !!! ^^
              }
              ?>
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                20 mai 2006 à 17:35:04

                Citation : S@suke Uchiw@

                :p pas mal les erreurs ! t'aurais pu cherché ^^
                En fait remplace ça:

                <?php $donnees['mot_de_pass']
                if $code = $donnees['mot_de_pass']
                {
                Bienvenue a masterworld
                }
                ?>



                Par ça:

                <?php $donnees['mot_de_pass']
                if ($code = $donnees['mot_de_pass']) //Les parenthèses !!!!!
                {
                echo 'Bienvenue a masterworld'; //on écrit pas dans le vide !!! ^^
                }
                ?>


                Remplacer une erreur par une erreur ? :D

                Tu as oublié le 2° égal sur le IF de la correction ;):p
                • Partager sur Facebook
                • Partager sur Twitter
                  20 mai 2006 à 17:36:26

                  Mais vous avez raison.
                  C'est incroyable que je sois comme sa a jamais trouvé les truc les plus insiqnifiant.

                  Merci les gars
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 mai 2006 à 17:36:50

                    Tu peux mettre ca pour avoir le POST :
                    <?php
                    mysql_connect("localhost", "root", ""); // Connexion à MySQL
                    mysql_select_db("masterworld"); // Sélection de la base coursphp

                    $code = htmlentities($_POST['code']);

                    $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL

                    // On fait une boucle pour lister tout ce que contient la table :

                    while ($donnees = mysql_fetch_array($reponse) )
                    {
                            if ($code == $donnees['mot_de_pass'])
                            {
                                    echo 'Bienvenue a masterworld';
                            }
                    }
                    mysql_close(); // Déconnexion de MySQL
                    ?>
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 mai 2006 à 19:48:36

                      Bas zut j'ai fais des modif et voila ce qui m'arrive maintenant

                      Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\dossier 1\compte.php on line 14

                      Voici le code compte.php
                      <?php
                      mysql_connect("localhost", "root", ""); // Connexion à MySQL
                      mysql_select_db("masterworld"); // Sélection de la base coursphp

                      $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL

                      // On fait une boucle pour lister tout ce que contient la table :

                      while ($donnees = mysql_fetch_array($reponse) )
                      {
                              $donnees['mot_de_pass'];
                              if ($pass == $donnees['mot_de_pass'])
                              {//Voici le compte
                                                      echo "Bonjour $donnees['pseudo'];"
                              }
                                                      else
                                                      {
                                                              echo  'votre code est faut cliquez <a href="mot_de_pass.php">ici</a> ?</p>';
                                                      }
                      }
                      mysql_close(); // Déconnexion de MySQL
                      ?>
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 mai 2006 à 19:53:43

                        ta variable $pass n'est defini nul part
                        et aussi:
                        echo "Bonjour $donnees['pseudo'];"

                        remplaces par sa:
                        echo "Bonjour $donnees['pseudo']";
                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 mai 2006 à 19:59:44

                          Citation : Louismaxis

                          Mais vous avez raison.
                          C'est incroyable que je sois comme sa a jamais trouvé les truc les plus insiqnifiant.

                          Merci les gars


                          t'es pardonné de l'avoir avoué ;) n'oublie pas, ton sujet est résolu ;)

                          [edit]mer** j'ai tout faux ^^
                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 mai 2006 à 20:01:08

                            Citation : speedking

                            ta variable $pass n'est defini nul part
                            et aussi:

                            echo "Bonjour $donnees['pseudo'];"


                            remplaces par sa:

                            echo "Bonjour $donnees['pseudo']";


                            Hum ...

                            Remplace :

                            echo "Bonjour $donnees['pseudo']";


                            Par :

                            echo "Bonjour ".$donnees['pseudo']."";


                            :euh:
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 mai 2006 à 20:02:47

                              Citation : Pl00b

                              Citation : speedking

                              ta variable $pass n'est defini nul part
                              et aussi:

                              echo "Bonjour $donnees['pseudo'];"


                              remplaces par sa:

                              echo "Bonjour $donnees['pseudo']";



                              Hum ...

                              Remplace :

                              echo "Bonjour $donnees['pseudo']";



                              Par :

                              echo "Bonjour ".$donnees['pseudo']."";



                              :euh:



                              sa revient au meme
                              • Partager sur Facebook
                              • Partager sur Twitter
                                20 mai 2006 à 20:12:09

                                Remplaces ça:
                                $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL

                                Par ça
                                $reponse = mysql_query("SELECT pseudo,mot_de_pass FROM joueurs"); // Requête SQL

                                Mais le problème dans ton script c'es si 2 membres ont le même pass !
                                Le mieux est de demander le pseudo et de sélectionner le pass du pseudo entré.

                                Edit:
                                Et remplaces ça:
                                echo "Bonjour ".$donnees['pseudo']."";

                                Par ça
                                echo "Bonjour ".$donnees['pseudo']; //Pourquoi ne rien rajouter derrière ? o_O

                                :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  21 mai 2006 à 10:01:30

                                  Citation : speedking

                                  ta variable $pass n'est defini nul part



                                  Ben ci elle est défini dans le premier code

                                  <html>
                                  <head>
                                  <title>Bloquage</title>
                                  </head>
                                  <body>

                                  <form action="compte.php" method="post">
                                  Quel est votre mot passe ?
                                  <input type="text" name="pass" value="">
                                  <input type="submit" value="Cliquez ici">
                                  </form>
                                  </body>
                                  </html>


                                  Edit: tien il y a un autre probleme
                                  <?php
                                  mysql_connect("localhost", "root", ""); // Connexion à MySQL
                                  mysql_select_db("masterworld"); // Sélection de la base coursphp

                                  $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL

                                  // On fait une boucle pour lister tout ce que contient la table :

                                  while ($donnees = mysql_fetch_array($reponse) )
                                  {
                                          $donnees['mot_de_pass'];
                                          if ($pass == $donnees['mot_de_pass'])
                                          {//Voici le compte
                                                                  <form action="compte.php" method="post" >
                                                                  <input type="hidden" name="etatgeneral" value="etat" />
                                                                  <input type="submit" value="Etat général" />
                                                                  </form>
                                                            echo "Bonjour ".$donnees['pseudo'];
                                                                  if (isset($etatgeneral))
                                                                  {
                                                                  echo "vous êtes en forme";
                                                                  }
                                                                 
                                          }
                                                                  else//mot de pass éronné
                                                                  {
                                                                          echo  'votre code est faut cliquez <a href="mot_de_pass.php">ici</a> ?</p>';
                                                                  }
                                  }
                                  mysql_close(); // Déconnexion de MySQL
                                  ?>


                                  Il yaurai une erreur a la ligne 14
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    21 mai 2006 à 10:35:47

                                    Non, là c'est $_POST['pass'] qui est définie :)
                                    $pass = addslashes($_POST['pass']);
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      21 mai 2006 à 10:56:00

                                      Citation : dentuk

                                      Non, là c'est $_POST['pass'] qui est définie
                                      Code : PHP$pass = addslashes($_POST['pass']);


                                      $pass ca fonctionne aussi....



                                      if ($pass == $donnees['mot_de_pass'])
                                              {//Voici le compte
                                                  // en effet il manque un echo ^^
                                                       echo'               <form action="compte.php" method="post" >
                                                                      <input type="hidden" name="etatgeneral" value="etat" />
                                                                      <input type="submit" value="Etat général" />
                                                                      </form>'

                                                                echo "Bonjour ".$donnees['pseudo'];

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        21 mai 2006 à 11:05:24

                                        lol ne cherche pas t'as tord sa peu pas marcher la seul facon de récupérer une variable par formulaire est d'utiliser $_POST
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          21 mai 2006 à 11:10:11

                                          Citation : speedking

                                          lol ne cherche pas t'as tord sa peu pas marcher la seul facon de récupérer une variable par formulaire est d'utiliser $_POST



                                          Sisi sa marche je n'utilise jamais post et sa marche toujours
                                          Si le probleme venait des variable on m'aurai dit que la variable n'est pas définie.

                                          Dailleur voila la derniere mise a jour
                                          <?php
                                          mysql_connect("localhost", "root", ""); // Connexion à MySQL
                                          mysql_select_db("masterworld"); // Sélection de la base coursphp

                                          $reponse = mysql_query("SELECT * FROM joueurs"); // Requête SQL

                                          // On fait une boucle pour lister tout ce que contient la table :

                                          while ($donnees = mysql_fetch_array($reponse) )
                                          {
                                                  $donnees['mot_de_pass'];
                                                  if ($pass == $donnees['mot_de_pass'])
                                                  {//Voici le compte
                                                           echo'<form action="compte.php" method="post" >
                                                                <input type="hidden" name="etatgeneral" value="etat" />
                                                                <input type="submit" value="Etat général" />
                                                                </form>
                                                                Bonjour'
                                          .$donnees['pseudo']
                                                                          if (isset($etatgeneral))
                                                                          {
                                                                          echo "vous êtes en forme";
                                                                          }
                                                                         
                                                  }
                                                                          else//mot de pass éronné
                                                                          {
                                                                                  echo  'votre code est faut cliquez <a href="mot_de_pass.php">ici</a> ?</p>';
                                                                          }
                                          }
                                          mysql_close(); // Déconnexion de MySQL
                                          ?>

                                          Il ya un probleme a
                                          if (isset($etatgeneral))
                                                                          {
                                                                          echo "vous êtes en forme";
                                                                          }
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            21 mai 2006 à 11:17:25

                                            ya pas d'érreur tout simplement parsque comme la variable $pass existe pas ben la condition n'est jamais executé

                                            essai de faire un echo $pass tu vera
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              21 mai 2006 à 11:28:32

                                              "</form>
                                              Bonjour'.$donnees['pseudo']"
                                              Oui y a un problème, il manque un point-virgule.
                                              Sinon $pass marche le seul probleme c'est que là tu peux l'indiquer par get ou cookie donc $_POST est mieux.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                21 mai 2006 à 11:30:07

                                                Citation : speedking

                                                ya pas d'érreur tout simplement parsque comme la variable $pass existe pas ben la condition n'est jamais executé

                                                essai de faire un echo $pass tu vera



                                                1. La variable est définie dans le code mot_de_pass.php que voici
                                                <html>
                                                <head>
                                                <title>Bloquage</title>
                                                </head>
                                                <body>

                                                <form action="compte.php" method="post">
                                                Quel est votre mot passe ?
                                                <input type="text" name="pass" value="">
                                                <input type="submit" value="Cliquez ici">
                                                </form>
                                                </body>
                                                </html>


                                                2. Mon ordinateur utilise une version plus ancienne et mile fois plus pratique car je n'ai pas besoin de récupéré les variable avec $_POST et sa a toujour marché
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  21 mai 2006 à 12:37:31

                                                  oué mais dans se cas c'est de la m**** car tu ne code pas au normes
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    21 mai 2006 à 12:44:37

                                                    Soit

                                                    Je vais corigé mais en attendant est ce que quelqu'un peut m'aider
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      21 mai 2006 à 14:38:51

                                                      edit, je me suis emballé avec mon accolade, mais je suis ok avec Dentuk, c'est ton ; qui manque ^^
                                                      edit 2 : tu vas avoir un probleme de toute manière :
                                                      si plusieurs pass sont entrés, tu vas avoir plusieurs ligne de "'votre code est faut cliquez <a href="mot_de_pass.php">ici</a>".
                                                      si deux users ont le meme pass, ben ca va planter, (enfin pas planter, mais ca va te faire un truc bizarre, genre deux fois bonjouir avec deux noms differents).

                                                      tu devrais ajouter des pseudos et verifier le pass qui va avec...
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        21 mai 2006 à 16:19:54

                                                        Citation : speedking

                                                        lol ne cherche pas t'as tord sa peu pas marcher la seul facon de récupérer une variable par formulaire est d'utiliser $_POST



                                                        Ne racontons pas de connerie, le Register_globals existe encore ;)

                                                        Pour ton problème, explique ce que tu veux faire concrétement.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Code qui plante

                                                        × 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