Partage
  • Partager sur Facebook
  • Partager sur Twitter

Quelle requête MySQL pour zone membres

vérifier si le pseudo et l'email n'est pas déjà pris

Sujet résolu
    24 novembre 2005 à 0:33:14

    Salut à tous,

    Pour mon site, j'aimerai créer une zone membre, je sais le faire, mais ce qui me pose problème, c'est la requête pour vérifier si le pseudo ou l'email du membre n'est pas déjà dans la BdD.

    Pourriez vous m'y aider s'il vous plaît.


    Sephi-Chan, premiers pas dans la V3 (ça rime).
    • Partager sur Facebook
    • Partager sur Twitter
      24 novembre 2005 à 0:35:45

      Salut,

      Personnellement j'ai utilisé un SELECT COUNT pour savoir si l'entrée éxistait ou pas, à priori ça bouffe pas mal de resource donc il doit y avoir certainement mieux et plus pratique mais en tout cas ça marche.
      • Partager sur Facebook
      • Partager sur Twitter
        24 novembre 2005 à 0:37:01

        salut :)
        • Lister le contenu de ta table (dans un array)
        • vérifier si le nom ou le mail n'éxiste pas déja grâce à la fonction isset

        Je ne suis pas sur à 100%, mais moi, je ferais comme ça :)
        Bonne chance,
        Cordialement, MA ;)

        €dit : euh, mairde, me susi planté, c'est pas la fonction isset, ><
        Une fois listé, tu fais un

        if ($donnees['pseudo']=$_POST['pseudo'])
        //bla bla bla

        :)
        • Partager sur Facebook
        • Partager sur Twitter
          24 novembre 2005 à 0:39:24

          Oui j'ai moi aussi récupéré les données WHERE pseudo = pseudo entré par le membre, puis si le count renvoyait 1 ou plus, c'était annulé, mais cette méthode ne me plait que très moyennement... :(


          Sephi-Chan
          • Partager sur Facebook
          • Partager sur Twitter
            24 novembre 2005 à 0:44:39

            Salut
            Je sais pas si c'est le plus éfficace,
            mais moi j'ai fais une requette qui cherche si le pseudo est déja dans la db. tous simplement.

            $sql="SELECT user_pseudo FROM user_info WHERE user_pseudo='". $user_pseudo ."'"
            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
            $donnees = mysql_fetch_array($req);
            if ($donnees){
                            msgdie('Erreur !','Désolé, ce pseudo est déja utilisé');
                    }


            Bonne chance
            Legenyes


            p.s.: Vérifie pour ce qui est de l'optimalisation
            • Partager sur Facebook
            • Partager sur Twitter
            En cours...
              24 novembre 2005 à 1:10:15

              Moi j'utilise ce code et il marche très bien :


              $sql = "SELECT pseudo FROM membres WHERE pseudo='".$pseudo."'";
              $req = mysql_query($sql);
              $resultat = mysql_num_rows($req);
              if ($resultat!=0)
              {
              echo 'Désolé mais ce pseudo existe déjà';
              }
              else
              {
              ...
              }
              • Partager sur Facebook
              • Partager sur Twitter
                24 novembre 2005 à 8:02:18

                Mil'o sans a la mailleur solution ... select ocunt est plus rapide que mysql_num_rows qui est lui plus rapide que la boucle.
                • Partager sur Facebook
                • Partager sur Twitter
                  24 novembre 2005 à 10:38:59


                  <?php
                  $req="select count(*) from table where pseudo='".$pseudo."'";
                  $nb=mysql_result($req,0);
                  if($n==0){
                  echo 'le pseudo est libre';
                  }
                  else
                  {
                  echo 'pseudo déjà pris';
                  }
                  ?>
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 novembre 2005 à 23:30:18

                    tient tient, un camarade. :lol:
                    C'est pour notre site que tu pose cette question Sephi? :p

                    sinon je connaissait pas mysql_result(). ca retourne FALSE a quelle moment? quant la requete a reussit a selectionner ce que l'on a demandé?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 novembre 2005 à 23:33:08

                      Citation : Sephi-Chan

                      Oui j'ai moi aussi récupéré les données WHERE pseudo = pseudo entré par le membre, puis si le count renvoyait 1 ou plus, c'était annulé, mais cette méthode ne me plait que très moyennemen/// :(


                      Sephi-Chan


                      Pourquoi donc? C'est la meilleure pourtant.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Quelle requête MySQL pour zone membres

                      × 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