IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Validation d'un formulaire avec Ajax


Sujet :

AJAX

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut [AJAX] Validation d'un formulaire avec Ajax
    Bonjour,
    je débute avec Ajax.

    Je voulais juste tester une chose ^^ j'ai donc mis un champs pseudo que l'utilisateur saisie, est dès lors qu'il quitte le champs texte (avec onblur de javascript), j'envoie une requete, qui va lire en base de données et voir si le pseudo est déjà pris. Mais dans nimporte quel cas il me retourne toujours qu'il est déjà pris.

    Voici mon code :

    mon fichier test.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    var bPseudo = false; // servira pour empêcher de poster le formulaire si vérification pseudo non ok
    function req_pseudo(pseudo)
    {
      //XMLHttpRequest est supporté par Internet Explorer 5.0+, Safari 1.2, Mozilla 1.0 / Firefox, Netscape 7
      if(document.all) var XhrObj = new ActiveXObject("Microsoft.XMLHTTP"); //Internet Explorer
      else var XhrObj = new XMLHttpRequest(); //Mozilla
     
      content = document.getElementById("pseudo_check"); 	//zone d'affichage
     
      XhrObj.open("POST", "verification_pseudo.php");
     
      //Ok pour la page cible
      XhrObj.onreadystatechange = function()
      {
        if (XhrObj.readyState == 4 && XhrObj.status == 200) {
          if (XhrObj.responseText == 'OK') {
            // ok nouveau pseudo
            content.innerHTML='<img src="images/success.png" alt=""/> Ok';
          } else {
            // erreur pseudo déjà existant
            content.innerHTML='<img src="images/stop.png" alt=""/> Déjà pris';
             }
        }
      }
     
      XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      XhrObj.send('p='+pseudo);
     
    }
    mon fichier verification_pseudo.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <?php
    $pseudo = htmlentities(addslashes($_POST['p']));
    if (!empty($pseudo))
    {
      $res = mysql_query("select * from users where pseudo='".$pseudo."'");
      echo (($row = mysql_fetch_array($res)) ? 'FAIL' : 'OK');
    }
    ?>
    et ma page index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <html>
        <head>
        <script type='text/javascript' src='test.js'></script>
        </head>
        <body>
        <input type="text" name="pseudo" value="" onblur="req_pseudo(this.value);"> <span id="pseudo_check"></span>
        <input type="test" name="password" value="">
        </body>
    </html>
    Si quelqu'un à une idée
    Merci d'avance

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Visiblement tu as des sauts de ligne dans le code php qui renvoie la réponse, ce qui fait ta réponse n'est pas OK ou FAIL mais /n/nOK/n (un truc dans ce genre), du coup ton test échoue.

    Essaie de faire if(XhrObj.responseText.match(/OK/)) pour voir, ca devrait régler ce problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Validation d'un formulaire en Ajax avec jQuery
    Par Rony Rauzduel dans le forum jQuery
    Réponses: 3
    Dernier message: 28/12/2012, 13h58
  2. [AJAX] Poster un formulaire avec AJAX
    Par faico dans le forum AJAX
    Réponses: 10
    Dernier message: 22/03/2010, 17h12
  3. Réponses: 18
    Dernier message: 17/03/2009, 17h25
  4. validation de formulaire avec ajax
    Par debutant_linux dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 25/01/2008, 15h01
  5. [AJAX] récupération de formulaire avec AJAX
    Par abda1000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/03/2007, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo