Partage
  • Partager sur Facebook
  • Partager sur Twitter

Inscription

probleme

    3 décembre 2006 à 15:35:35

    Bonjour

    Alors voila j'ai commencer un nouveau site internet mais j'ai déjà un problème lol. Mon script d'inscription ne fonctionne pas. En faite quand j'essai de m'inscrire il me dit a chaque fois que tous les champs ne sont pas rempli alors qu'ils sont rempli. Voici le code:

    <?php
    //Identifiants de connexion à la base de données.
    include('bd.php');                     

    //On vérifie que la variable $_POST['inscription'] existe
    if (isset($_POST['inscription']))
    {
            //Si les variables contenant le pseudo, le mot de passe et l'email existent et contiennent quelque chose.
            if (isset($_POST['pseudo'], $_POST['mot_passe'], $_POST['email']) )
            {
                    //Si le pseudo est supérieur à 3 caractères et inférieur à 35 caractères.
                    if (strlen(trim($_POST['pseudo'])) > 3 && strlen(trim($_POST['pseudo'])) < 35)
                    {
                            //Si le mot de passe est supérieur à 4 caractères.
                            if (strlen(trim($_POST['mot_passe'])) > 4)
                            {
                                    //Mesure de sécurité.
                                    $pseudo = htmlspecialchars($_POST['pseudo']);
                                    $mot_passe = htmlspecialchars($_POST['mot_passe']);
                                    $email = htmlspecialchars($_POST['email']);
                                    $reaction = htmlspecialchars($_POST['reaction']);
                                    $sort = htmlspecialchars($_POST['sort']);
                                    $matiere = htmlspecialchars($_POST['matiere']);

                                    //On vérifie que le pseudo n'existe pas.
                                    $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
                                    if ($reaction == "discution" AND $matiere == "meta" AND $sort == "leviosa")
                                          { 
                                            $maison=gryffondor;
                                            }
     if ($reaction == "fuite" AND $matiere == "potion" )
                                          { 
                                            $maison=serpentard;
                                            }
     if ($reaction == "ignore" AND $matiere == "bota" AND $sort == "dente")
                                          { 
                                            $maison=poufsouffle;
                                            }
    else
                                          { 
                                            $maison=serdaigle;
                                            }
                                   if (mysql_result($sql, 0, 'nb_pseudo') == 0)
                                    {                                                                  
                                             //On éxécute la requête qui enregistre un nouveau membre.
                                             mysql_query("INSERT INTO membres (id,pseudo, mot_passe, email, maison, grade, gallions) VALUES ('','".$pseudo."', '".$mot_passe."', '".$email."', '".$maison."', 'Elève', '200')");
                                             echo "Bonjour '.$pseudo.' tu est bien inscrit sur Poudlard... votre maison est '.$maison.';";
                                       }
                                     
                                   }
                                   else
                                       echo 'Erreur : le pseudo existe déjà !';
                            }
                            else
                                    echo 'Erreur : le mot de passe est trop court !';
                    }
                    else
                            echo 'Erreur : le pseudo est soit trop court, soit trop long !';
            }
            else
            {
                    echo 'Erreur : Tous les champs ne sont pas remplis.';
    }

    //Déconnection de la base de données.
    mysql_close();
    ?>   
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 décembre 2006 à 15:41:29

      euh je crois que ça vient des tes conditions, les Erreur ne sont pas aux bons endroits ...
      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2006 à 18:22:36

        Peut on avoir le forumulaire qui va avec s'il te plait ? :D
        • Partager sur Facebook
        • Partager sur Twitter
          3 décembre 2006 à 19:17:26

          essaye ça ça devrais fonctionner :
          <?php
          //Identifiants de connexion à la base de données.
          include('bd.php');                     

          //On vérifie que la variable $_POST['inscription'] existe
          if (isset($_POST['inscription']))
          {
                  //Si les variables contenant le pseudo, le mot de passe et l'email existent et contiennent quelque chose.
                  if (isset($_POST['pseudo'], $_POST['mot_passe'], $_POST['email']) )
                  {
                          //Si le pseudo est supérieur à 3 caractères et inférieur à 35 caractères.
                          if (strlen(trim($_POST['pseudo'])) > 3 && strlen(trim($_POST['pseudo'])) < 35)
                          {
                                  //Si le mot de passe est supérieur à 4 caractères.
                                  if (strlen(trim($_POST['mot_passe'])) > 4)
                                  {
                                          //Mesure de sécurité.
                                          $pseudo = htmlspecialchars($_POST['pseudo']);
                                          $mot_passe = htmlspecialchars($_POST['mot_passe']);
                                          $email = htmlspecialchars($_POST['email']);
                                          $reaction = htmlspecialchars($_POST['reaction']);
                                          $sort = htmlspecialchars($_POST['sort']);
                                          $matiere = htmlspecialchars($_POST['matiere']);

                                          //On vérifie que le pseudo n'existe pas.
                                          $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
                                          if ($reaction == "discution" AND $matiere == "meta" AND $sort == "leviosa")
                                                {
                                                  $maison=gryffondor;
                                                }
           if ($reaction == "fuite" AND $matiere == "potion" )
                                                {
                                                  $maison=serpentard;
                                                }
           if ($reaction == "ignore" AND $matiere == "bota" AND $sort == "dente")
                                                {
                                                  $maison=poufsouffle;
                                                }
          else
                                                {
                                                  $maison=serdaigle;
                                                }
                                         if (mysql_result($sql, 0, 'nb_pseudo') == 0)
                                          {                                                                 
                                                                                  //On éxécute la requête qui enregistre un nouveau membre.
                                              mysql_query("INSERT INTO membres (id,pseudo, mot_passe, email, maison, grade, gallions) VALUES ('','".$pseudo."', '".$mot_passe."', '".$email."', '".$maison."', 'Elève', '200')");
                                              echo "Bonjour '.$pseudo.' tu est bien inscrit sur Poudlard... votre maison est '.$maison.';";
                                          }
                                           
                                      }
                                      else
                                                                          echo 'Erreur : le mot de passe est trop court !';
                                  }
                                  else
                                                                  echo 'Erreur : le pseudo existe déjà !';
                          }
                          else
                                                  echo 'Erreur : Tous les champs ne sont pas remplis.';
          }

          //Déconnection de la base de données.
          mysql_close();
          ?>

          Si tu veux une solution à ton problème,je te conseillerais de mieux indenter tes codes ! va faire un tour par ici pour cela ;)
          • Partager sur Facebook
          • Partager sur Twitter
          JumpY - Profil LinkedIn

          Inscription

          × 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