Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JQuery] Vérification d'email et pseudo qui ne marche pas

Sujet résolu
    25 mai 2011 à 11:24:13

    Bonjour à tous.

    J'avais un script qui marchait sur un site ! Je l'ai déménagé sur un autre, seulement il ne marche pas. Après plein de tests, je désespère et je ne trouve pas l'erreur .. Peut être pourriez vous m'aidez ?

    // La partie AJAX
            $.ajax({
                type: 'POST',
                url: 'js/Ajax-PHP/inscription.php',
                data: $(this).serialize(),
                success:
                function(result) {
                alert(result);
                    if(result=='1') {
                        // $("#pseudo2").next(".error-input").fadeIn().html("Le pseudo est déjà pris.")
                        alert('Pseudo UTILISE')
                    }
                    if(result=='2') {
                        // $("#email").next(".error-input").fadeIn().html("L'email est déjà pris.")
                        alert('Email UTILISE')
                    }
    
                    if(result=='123'){
                        // $("#pseudo2").next(".error-input").fadeIn().html("Le pseudo est déjà pris.");
                        // $("#email").next(".error-input").fadeIn().html("L'email est déjà pris.");
                        alert('Pseudo et Email utilisés')
                    }
                }
            });
    


    <?php
    $pseudo = $_POST['pseudo2'];
    $email = $_POST['email'];
    
    if (!empty($pseudo)) {
        $requete = mysql_query("SELECT * from membres WHERE pseudo = '$pseudo'") or die("Impossible de sélectionner l'email : " . mysql_error());
        $result = mysql_fetch_assoc($requete);
        if (!empty($result['iddumembre'])) {
            $error = 1;
            $compteur++;
            echo $error;
        }
    }
    
    if(!empty($email)) {
        $requete2 = mysql_query("SELECT * from membres WHERE mail = '$email'") or die("Impossible de sélectionner l'email : " . mysql_error());
        $result2 = mysql_fetch_assoc($requete2);
        if (!empty($result2['iddumembre'])) {
            $error = 2;
            $compteur++;
             echo $error;
        }
    }
    
    if ($compteur == 2) {
        $error = 3;
        echo $error;
    }
    ?>
    


    Seulement rien ne se passe ... Même quand je veux juste afficher le : $_POST['email'] en mettant juste un alert dans la fonction success de ma requête Ajax !

    Une idée ?

    Merci beaucoup.
    • Partager sur Facebook
    • Partager sur Twitter
      25 mai 2011 à 14:30:23

      Tu as regardé les détails de ta requête ajax avec Firebug ? Voir les données envoyées.
      • Partager sur Facebook
      • Partager sur Twitter
        25 mai 2011 à 16:15:00

        Aucune donnée ne passe dans la requête ajax, que ça soit le pseudo ou l'email ! ...
        • Partager sur Facebook
        • Partager sur Twitter
          25 mai 2011 à 16:25:57

          Ligne 5, ton $(this) doit faire référence à ton formulaire, est-ce le cas ?
          • Partager sur Facebook
          • Partager sur Twitter
            25 mai 2011 à 16:30:00

            La requête ajax se lance :

            $("#inscription").submit(function(){

            Sachant que l'id de mon formulaire est bien inscription je dirai que oui :D
            • Partager sur Facebook
            • Partager sur Twitter
              25 mai 2011 à 20:44:06

              as-tu trouvé la solution? sinon essaie de mettre un simple echo dans ton php, dans le js essaie aussi de mettre une autre url, met le fichier php dans le même dossier que celui du js. Et peut-être ton alert ligne 8 te dira quelque chose.
              • Partager sur Facebook
              • Partager sur Twitter
                25 mai 2011 à 23:10:23

                Je n'ai pas la solution !
                Pour l'alert quand je mets n'importe quoi dans le fichier PHP, ça le retourne bien, donc le fichier est bien chargé !
                • Partager sur Facebook
                • Partager sur Twitter
                  25 mai 2011 à 23:32:47

                  Fais un alert($(this).serialize()); pour voir.

                  Sinon, tu te rends compte que dans ton code php, le compteur est inutile ?
                  Il suffit de faire en JavaScript:

                  if(result=='12'){
                                      // $("#pseudo2").next(".error-input").fadeIn().html("Le pseudo est déjà pris.");
                                      // $("#email").next(".error-input").fadeIn().html("L'email est déjà pris.");
                                      alert('Pseudo et Email utilisés')
                                  }
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 mai 2011 à 23:40:05

                    Merci pour le raccourci du code.

                    Justement rien ne s'affiche !
                    Aucune données $_POST ne vas dans le fichier JS ! Je ne comprends pas ? Dès que je fais un echo de l'email ou du pseudo ça ne marche pas !
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 mai 2011 à 23:50:18

                      Tu peux créer un jsfiddle (http://jsfiddle.net/) avec ton formulaire et ton script js.
                      Pour ta requête ajax change l'url par /echo/html/ (le serveur jsfiddle renverra qqchose au moins).

                      Comme on peut tester et débugger plus facilement ...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 mai 2011 à 0:16:23

                        Tu as un div dont l'id est inscription et c'est également l'id de ton formulaire !

                        Or un identifiant doit être unique.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 mai 2011 à 1:23:13

                          Citation

                          Pour ta requête ajax change l'url par /echo/html/ (le serveur jsfiddle renverra qqchose au moins)



                          Qu'est-ce que c'est ce "echo/html" ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 mai 2011 à 10:12:40

                            OQuentinO marque ton sujet comme résolu si tout fonctionne maintenant ;)

                            Erroll, il s'agit d'une url spéciale pour tester dans jsfiddle!
                            • Partager sur Facebook
                            • Partager sur Twitter

                            [JQuery] Vérification d'email et pseudo qui ne marche pas

                            × 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