Partage
  • Partager sur Facebook
  • Partager sur Twitter

Echo qui dit n'importe quoi

et oui ! il fait n'importe quoi celui la !

    1 janvier 2006 à 23:23:30

    BOnsoir !

    voici mon code
            $username = $_POST['username'];
            $password = $_POST['password'];
            $email = $_POST['email'];
            $paypal = $_POST['paypal'];
                    $parrain = $_POST['parrain'];
           
            $retour= mysql_query("SELECT * FROM membre");
    if(empty($_POST['username']) OR empty($_POST['password']) OR empty($_POST['email']) OR empty($_POST['paypal']))
    {
    echo 'Revenez en arriere et rentrez toutes les informations, merci :D';
    }
    else
    {
            while($membre = mysql_fetch_array($retour))
            {
                    if($_POST['username'] == $membre['pseudo'])
                    {
                            echo "Le pseudo ".$username." est dejà utilisée, veuillez en choisir un autre <br />";
                    }
                    elseif($_POST['email'] == $membre['email'])
                    {
                            echo "L'email ".$email." est dejà utilisée, veuillez en choisir une autre <br />";
                    }
                    elseif($_POST['paypal'] == $membre['paypal'])
                    {
                            echo "Ce compte paypal est deja utilisé, veuiller en choisir un autre <br />";
                    }
                    elseif($_POST['paypal'] != $membre['paypal'] && $_POST['email'] != $membre['email'] && $_POST['username'] != $membre['pseudo'])
                    {
                                            echo 'Felititation , vous etes maintenant inscrit !
                                                    <META HTTP-EQUIV="Refresh" CONTENT="30; URL=login.htm">'
    ;
                            mysql_query("INSERT INTO membre(pseudo, password, email, paypal,parrain) VALUES('$username', '$password', '$email', '$paypal','$parrain')");
                           
                    }
                                    else
                                    {
                                    echo 'Un probleme dans linscription a eu lieu !';
                                    }
                                   
            }
    }


    Et le probleme c'est que peut importe les donné que je rentre dans les formulaires, j'ai tout le temp la phrase "Felititation , vous etes maintenant inscrit !" en 2 ou 3exemplaire, meme quand sa ne rentre pas de donné dans la bdd !

    en d'autre terme, meme si l'inscription rate la phrase est la !

    Le probleme doit venir de mon code, il doit y avoir une erreur grosse comme une maison quelque part mais je l'ai pas vu !

    SI quelqu'un peu m'aider, qu'il le fasse, merci !!
    • Partager sur Facebook
    • Partager sur Twitter
      1 janvier 2006 à 23:26:28

      Essai l'inverse :

              $username = $_POST['username'];
              $password = $_POST['password'];
              $email = $_POST['email'];
              $paypal = $_POST['paypal'];
                      $parrain = $_POST['parrain'];
             
              $retour= mysql_query("SELECT * FROM membre");
      if(isset($_POST['username']) && isset($_POST['password']) && isset($_POST['email']) && isset($_POST['paypal']))
      {
       while($membre = mysql_fetch_array($retour))
              {
                      if($_POST['username'] == $membre['pseudo'])
                      {
                              echo "Le pseudo ".$username." est dejà utilisée, veuillez en choisir un autre <br />";
                      }
                      elseif($_POST['email'] == $membre['email'])
                      {
                              echo "L'email ".$email." est dejà utilisée, veuillez en choisir une autre <br />";
                      }
                      elseif($_POST['paypal'] == $membre['paypal'])
                      {
                              echo "Ce compte paypal est deja utilisé, veuiller en choisir un autre <br />";
                      }
                      elseif($_POST['paypal'] != $membre['paypal'] && $_POST['email'] != $membre['email'] && $_POST['username'] != $membre['pseudo'])
                      {
                                              echo 'Felititation , vous etes maintenant inscrit !
                                                      <META HTTP-EQUIV="Refresh" CONTENT="30; URL=login.htm">'
      ;
                              mysql_query("INSERT INTO membre(pseudo, password, email, paypal,parrain) VALUES('$username', '$password', '$email', '$paypal','$parrain')");
                             
                      }
                                      else
                                      {
                                      echo 'Un probleme dans linscription a eu lieu !';
                                      }
                                     
              }
      }
      else
      {
      echo 'Revenez en arriere et rentrez toutes les informations, merci :D';     
      }
      • Partager sur Facebook
      • Partager sur Twitter
        1 janvier 2006 à 23:31:41

        Pour voir s'il n'y a pas une erreur à l'enregistrement, rajoute un or die(mysql_error()); après le mysql_query...
        Et essaye aussi d'entourer tes noms de champs/table de ``...
        • Partager sur Facebook
        • Partager sur Twitter
          1 janvier 2006 à 23:41:20

          le mysql error me dit si ej m'inscrit avec le pseudp eniotnas 2 "Duplicate entry 'eniotnas2' for key 1"
          • Partager sur Facebook
          • Partager sur Twitter
            1 janvier 2006 à 23:43:33

            Tu as mal fait tes conditions, ça ne peut être que ça.
            Pour l'erreur c'est normal, ta clé primaire doit être ton champ pseudo dans ta bdd ce qui explique la réponse (une clé ne peut pas avoir deux valeurs identiques dans une table )
            • Partager sur Facebook
            • Partager sur Twitter
              1 janvier 2006 à 23:44:42

              Citation : eniotnas

              le mysql error me dit si ej m'inscrit avec le pseudp eniotnas 2 "Duplicate entry 'eniotnas2' for key 1"


              et eniotnas2 n'est pas déjà dans la base de données??? et pseudo n'est pas en unique???
              et je crois que je vois ce que tu veux faire avec ta boucle, mais ça ne doit pas être comme ça qu'il faut procéder...
              Fait plutôt une recherche directement sur les entrées où le pseudo est celui avec lequel tu veux t'inscrire... Si le nombre d'entrées == 0 ==> Le pseudo n'est pas encore enregistré, sinon, il est déjà utilisé...
              • Partager sur Facebook
              • Partager sur Twitter
                1 janvier 2006 à 23:45:42

                non pseudo n'est pas en unique et eniotnas2 n'y etait pas
                • Partager sur Facebook
                • Partager sur Twitter
                  1 janvier 2006 à 23:47:57

                  Il n'y était pas, mais maintenant: vérifie!!!
                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 janvier 2006 à 23:49:02

                    Je soutiens l'idée de Tithugues, il vaudrait mieu faire part de ta recherche directement dans ta requête sql (rajoute un where pseudo=$_POST["pseudo"] & ....) et si il n'y a aucune entrée, tu peux enregistrer.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 janvier 2006 à 23:49:31

                      oui maintenant il y est,
                      j'ai eu le droit a "Felititation , vous etes maintenant inscrit !" 2fois quand j'ai inscri eniotnas2

                      IL y a un tutorial sur les nombre d'entre sur le sdz ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 janvier 2006 à 23:50:31

                        Je ne sais pas, mais pour le nombre de félicitations, c'est sûrement en rapport avec le nombre d'entrées dans ta table.
                        En effet, ton while est utile mais il vérifie tout cela pour chacune des entrées de ta table, donc s'il y a 10 entrées et qu'aucune ne correspond au pseudo de l'inscription, la condition sera 10 fois vraie, et ton message aparaîtra 10 fois ^^
                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 janvier 2006 à 23:51:26

                          Quel est la commande sinon pour compter le nombre d'entré ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 janvier 2006 à 23:52:21

                            Comment ca? sur le nombre d entree de quoi ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 janvier 2006 à 23:53:51

                              ba j'ai pas tout compris la dessu, ils parlent de compté le nombre d'entré
                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 janvier 2006 à 23:53:53

                                Mais avais-tu des entrées dans ta table au moment de l'inscription???
                                Si oui, c'est normal:
                                Ta requête s'exécute, elle va relever toutes les entrées, et tu vas faire autant de tour de boucle qu'il n'y a d'entrées... Donc il y a deux entrées, tu fais deux tours... Au premier, tu exécutes ta requête, au second tu exécutes la même, seulement, il ne veut pas réenregistrer le même pseudo...

                                et pour le nombre d'entrées, tu peux utiliser mysql_num_rows:
                                $tareq = 'insert blabla';
                                $res = mysql_query($tareq) or die(mysql_error());
                                $Num = mysql_num_rows($res);
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 janvier 2006 à 23:56:07

                                  oui sauf que la condition pour afficher felicitation c'est sa

                                  elseif($_POST['paypal'] != $membre['paypal'] && $_POST['email'] != $membre['email'] && $_POST['username'] != $membre['pseudo'])
                                                  {
                                                                          echo 'Felititation , vous etes maintenant inscrit !


                                  et que en l'occurence il peut pas y avoir plusieur fois sa
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    1 janvier 2006 à 23:57:05

                                    non l'erreur ne vient pas de là, mais du fait que tu utilise un while qui va tester ça pour chaque entrée, donc c'est possible ^^
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 janvier 2006 à 23:58:13

                                      ok, donc je compte le nombre d'entré, si c'est 0 je permet l'inscription !
                                      Merci ! je vais tenter sa

                                      Merci a tous de m'avoir aider !!
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        2 janvier 2006 à 0:00:04

                                        Fais comme on t'as dit pour la requete, évite le while et va voir la doc ^^
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          2 janvier 2006 à 0:08:49

                                          la doc php en cas de besoin ^^
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            2 janvier 2006 à 0:12:20

                                            ah oui ^^
                                            je devrai l'imprimer d'ailleur !
                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Echo qui dit n'importe quoi

                                            × 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