Partage
  • Partager sur Facebook
  • Partager sur Twitter

Espace membre simple, problème

Je ne peux pas me connecter, compte inexistant.

Sujet résolu
    7 juin 2007 à 21:20:31

    Je sais, c'est mal ce que je fais, mais je pense que personne n'a vu la question que j'ai posé sur un autre topic. Je créé donc celui-là, er reposte mon message.

    Yop tous les zéros ! :)
    Jusqu'ici, je ne m'étais pas inscrit sur le forum, étant donné que j'avais toujours trouvé les réponses à mes questions en cherchant bien. mais là, c'est une autre paires de manches... Aucun topic satisfaisant, mais je n'ai vraiment pas envie d'en ouvrir un nouveau.
    Je vais donc poster mon problème ici, en espérant qu'un ame errante passera par là et me répondra :p

    Primo, voici mon code, assez simple, avec (je pense) touts les éléments nécessaire:

    <?php
    session_start()
    ?>

    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
    ?>

    <?php
    if (!empty($_POST['pseudo']) && !empty($_POST['code']))
          {
          $pseudo = mysql_real_escape_string($_POST['pseudo']);
          $code = mysql_real_escape_string(md5($_POST['code']));
          }
    ?>

    <?php
    if (!empty($_POST['pseudo']) && !empty($_POST['code']))
    {
          $reponse = mysql_query("SELECT id FROM membres WHERE pseudo='".$pseudo."' AND code_secret='".$code."'");
          if ($donnees = mysql_fetch_array($reponse))
            {
            $_SESSION['connect'] = true;
            echo "Vous êtes bien connecté.";
            }   
          else
            {
            $_SESSION['connect'] = false;
            echo "Erreur: mot de passe incorrect ou compte inexistant. <br /><br />
                  Retour à la <a href='connexion.php'>connexion</a>"
    ;
            }
    }   
    else
          {
          echo "Vous n'avez pas rempli toutes les données du formulaire. <br /><br />
                Retour à la <a href='connexion.php'>connexion</a>"
    ;       
          }
    ?>

    <?php
    mysql_close();
    ?>




    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
    ?>

    <form method="post" action="connexion_2.php">
            <h4>Connexion au site</h4>
            <p>
                    <label for="pseudo">Pseudo : </label><br />
                    <input type="text" name="pseudo" id="pseudo" />
            </p>
            <p>
                    <label for="code">Code secret : </label><br />
                    <input type="password" name="code" id="code" />
            </p>
            <input type="submit" value="Connexion" />
    </form>

    <?php
    mysql_close();
    ?>

    Le premier code, c'est mon script PHP, pour traiter les données reccueillies dans le formulaire de connexion. Il correspond à la page "connexion2.php"
    Le deuxième code contient mon formulaire de connexion et correspond à la page "connexion.php"

    Ne vous inquiétez pas si vous trouver qu'il y a beaucoup de balises php qui s'ouvrent et qui se ferment inutilement, je trouve ça plus clair ^^

    Voilà maintenant le problème: à priori, tout marche bien, sauf que même si le pseudo et le mot de passe sont bon, il m'affiche le message "Erreur: mot de passe incorrect ou compte inexistant. Retour à la connexion."
    Le formulaire d'inscription marche treès bien, et j'ai vérifié dans ma table test que les données existaient.

    Merci d'avance :) (si vous ne comprenez pas, j'essayerai de réexpliquer plus clairement ^^")
    • Partager sur Facebook
    • Partager sur Twitter
      7 juin 2007 à 21:34:37

      le probleme dois venir de la requete :euh:
      ce que je te conseille de faire, c'est de commecner par mettre un or die dans la requete, au moins tu sera si ca viens de ca :p
      ensuite, tu peus essayer de connaitre la valuer des différentes variable avec un echo, ce qui peus te permettre de cibler le probleme, (si pseudo est égale a rie, le probleme vient de la, si il ne connait pas de pseudo forcement :lol: ca peus venir de la que la variable est vide :) ) une fois que tu c'est d'ou viens le probleme c'est bon :p
      en tout cas, ce qui est sur, c'est que le probleme vien du if :lol:
      il n'arrive pas a avoir l'égalité, donc il passe en else ;)
      voila, ce qure je peus te dire, mais je ne sais pas apres, j'ai juste regarder le code sans vraimment réflchir longtemps :p
      • Partager sur Facebook
      • Partager sur Twitter
        7 juin 2007 à 21:46:14

        1/ Enlèves le mysql_real_escape_string du md5!
        • Partager sur Facebook
        • Partager sur Twitter
          7 juin 2007 à 21:53:00

          Merci beaucoup, vous m'avez bien aider.
          J'ai fait un echo sur le pseudo et le mot de passe. En fait, le mot de passe était crypté par la fonction md5(), mais je n'avais pas appliqué celle-ci lors de l'inscription. Les mots de passes étaient donc en effet incorrect selon MySQL, mais maintenant ça marche :) .
          • Partager sur Facebook
          • Partager sur Twitter

          Espace membre simple, problème

          × 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