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] responseText et condition ne fonctionne pas


Sujet :

AJAX

  1. #1
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut [AJAX] responseText et condition ne fonctionne pas
    Bonsoir à tous,

    J'ai un soucis : ma condition if qui teste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (OAjax.responseText == "OK") {
    n'a pas l'air de fonctionner correctement.

    J'ai tenté de résoudre le problème alone mais là j'ai plus de yeux

    Voici mon html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form method ="post" action="connection.php" name="formm">
            	<input type="text" name="pseudo" onblur="val_pseudo(this);"/><div id="val_pseudo"></div>
                <input type="password" name="pswd" /><br />
     
                <input type="submit" />
             </form>
    mon PHP

    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
     
    <?php
    header('Content-Type: text/html; charset=UTF-8');
    include("connect.php");
    $pseudo=$_POST['p'];
    $requete = "SELECT nom FROM personne WHERE pseudo = '".$pseudo."'";
    mysql_query("SET NAMES 'utf8'");
    $quer = mysql_query($requete);
    $fe = mysql_fetch_array($quer);
    if($fe) {
    echo "OK";      
    }
    else {
    echo "FAIL";    
    }
    ?>
    et mon ajax

    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
     
    function val_pseudo (pseudol) {
     
     
    	var pseudol = document.formm.pseudo.value;
    	alert(pseudol);
    	var content = document.getElementById('val_pseudo');
    	OAjax.open("POST","connection.php",true);
     
    	OAjax.onreadystatechange = function()
        {
     
    		 if (OAjax.readyState == 4 && OAjax.status==200)
    		  {	
    		  alert(OAjax.responseText);
     
    			 if (OAjax.responseText == "OK") {
     
    				content.innerHTML = "ok bon pseudo";
    			 }
    			 else  {
     
    				 content.innerHTML = "mauvais pseudo";
    			 }
    		  }	
         }
     
    		  OAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
              OAjax.send('p='+pseudol);
         }
    mon code permet de tester si le pseudo rempli est bon

    Dans tous les cas il me met : mauvais pseudo
    ALORS que quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(OAjax.responseText);
    , cela me donne bien "OK"
    donc je teste ensuite avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (OAjax.responseText == "OK") {
    Je ne comprends absolument pas pourquoi il met, et même si le pseudo existe, "mauvais pseudo"

    J'aurai vraiment besoin que quelqu'un m'explique pourquoi...

    Je vais encore chercher de mon coté!

    Merci !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 986
    Points : 44 177
    Points
    44 177
    Par défaut
    Bonsoir,
    testes avec indexOf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( OAjax.responseText.indexOf('OK') > -1){
      // code si trouvé
    }

  3. #3
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    !!!!!!!!!! PARFAIT

    pourrais tu m'expliquer?

    parce que j'ai déjà utilisé ce code pour faire autre chose (au moment d'une inscription, vérifier que le pseudo n'est pas pris) , et j'ai pas eu de problème...

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 986
    Points : 44 177
    Points
    44 177
    Par défaut
    Il te faut vérifier que la réponse ne comporte pas de caractère non imprimable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert('[' +OAjax.responseText +']');  // doit afficher [OK]

  5. #5
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    merci !

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

Discussions similaires

  1. [AJAX] XHR sous IE ne fonctionne pas
    Par Hohenheim dans le forum AJAX
    Réponses: 2
    Dernier message: 30/07/2009, 15h14
  2. [AJAX] xmlhttprequest.send qui ne fonctionne pas avec une variable !
    Par hoaxpunk dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/03/2009, 18h17
  3. Jquery/AJAX function click qui ne fonctionne pas.
    Par prome dans le forum jQuery
    Réponses: 2
    Dernier message: 12/03/2009, 12h57
  4. [AJAX] Exemples du tuto ne fonctionnant pas
    Par dimi2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/06/2008, 11h50
  5. [MySQL] Condition ne fonctionnant pas dans une classe
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/02/2007, 16h38

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