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

JavaScript Discussion :

[AJAX] lecture réponse ajax


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut [AJAX] lecture réponse ajax
    Bonjour,

    Voilà j'ai un script en ajax pour allé récupérer des information sur une base de donnée via un script php, je m'en sert pour faire de l'authentification login mot de passe. Le soucis quand je rentre mon login et mot de passe le script .js récupère bien les info et les passe bien a mon script php pour l'exécution mais le problème dans mon script ajax quand je récupère la réponse, je fait un test voir code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if(http.readyState == 4){
    var response = http.responseText;
     
    if(response == 0){
    	document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
    // if login fails
    //document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
    // else if login is ok show a message: "Welcome + the user name".
    } else {
     
    		document.getElementById('login_response').innerHTML = 'Welcome'+response;
     
     
    }
    Le souci quand la réponse est 0 il rentre jamais dans le premier if, je suis toujours dans le 2 if.
    J'ai bien tester la valeur de retour, quand le login et mot de passe est ok j e recoit bien la bonne réponse et qd ya un erreur je recois bien 0.

    Qqun peut m'aider merci.

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    C'est normal,étant donné que le responseText est un string,et que 0 est un entier...
    Ce code,par contre,devrait marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if(http.readyState == 4){
    var response = http.responseText;
     
    if(response == "0"){
    	document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
    // if login fails
    //document.getElementById('login_response').innerHTML = 'Login failed! Check user and password';
    // else if login is ok show a message: "Welcome + the user name".
    } else {
     
    		document.getElementById('login_response').innerHTML = 'Welcome '+response;
     
     
    }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par supersnail Voir le message
    C'est normal,étant donné que le responseText est un string,et que 0 est un entier...
    Ce code,par contre,devrait marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if(http.readyState == 4){
    var response = http.responseText;
     
    if(response == "0"){
    	document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
    // if login fails
    //document.getElementById('login_response').innerHTML = 'Login failed! Check user and password';
    // else if login is ok show a message: "Welcome + the user name".
    } else {
     
    		document.getElementById('login_response').innerHTML = 'Welcome '+response;
     
     
    }
    Slt et merci pour ta réponse mais j'ai modifié et cest tj pareil, j et emet l ecode mon script php si tu veux
    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
    <!-- Include Database connections info. -->
    <?php include('config.php'); ?>
     
    <!-- Verify if user exists for login -->
    <?php
    if(isset($_GET['nom']) && isset($_GET['psw'])){
     
            $nom    =       $_GET['nom'];
            $psw    =       $_GET['psw'];
            
            $getUser_sql    =       'SELECT * FROM USER WHERE nom="'. $nom . '" AND psw = "' . $psw . '"';
            $getUser                =       mysql_query($getUser_sql);
            $getUser_result =       mysql_fetch_assoc($getUser);
            $getUser_RecordCount = mysql_num_rows($getUser);
            
            if($getUser_RecordCount < 1){ echo 0;} else { echo $getUser_result['nom'];}
    }
     
    ?>
    Merci

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    dans ton fichier PHP,remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($getUser_RecordCount < 1){ echo 0;} else { echo $getUser_result['nom'];}
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($getUser_RecordCount < 1){ echo "0;"} else { echo $getUser_result['nom'];}

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Slt merci, avec ta modif quand j'exécute j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Welcome
    Parse error: parse error, unexpected '}', expecting ',' or ';' in
    Pour que ca passe faut que je mette un ";"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($getUser_RecordCount < 1){ echo "0;";} else { echo $getUser_result['nom'];}
    Mais c'est tj pareil je rentre que dans le deuxième IF

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut

    J'imagine qu'il s'agit d'une faute de frappe de supersnail, en tout état de cause, c'est ceci qu'il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($getUser_RecordCount < 1){ echo "0";} else { echo $getUser_result['nom'];}
    sinon, tu recevras "0;" dans ton JavaScript et la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(xhr.responseText == "0")
    sera toujours fausse

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Bovino Voir le message

    J'imagine qu'il s'agit d'une faute de frappe de supersnail, en tout état de cause, c'est ceci qu'il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($getUser_RecordCount < 1){ echo "0";} else { echo $getUser_result['nom'];}
    sinon, tu recevras "0;" dans ton JavaScript et la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(xhr.responseText == "0")
    sera toujours fausse
    Merci oui en fait comme je l'ai dit ds mon précédent message j'ai bien déplacé le ; ou il fallait...mais le souci sc'est qu eje reviens a mon erreur de début c'est a dit dire je rentre jamais dans le premier if de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(http.readyState == 4){
    var response = http.responseText;
     
    if(response == "0"){
    	document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
    // if login fails
    //document.getElementById('login_response').innerHTML = 'Login failed! Check user and password';
    // else if login is ok show a message: "Welcome + the user name".
    } else {
     
    		document.getElementById('login_response').innerHTML = 'Welcome '+response;
    Pourtant quand je test la variable de retour j'ai bien un 0!!!

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Slt a tous merci j'ai trouvé mon erreur, j'ai changer la facon de tester pour mon premier if voici les changements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if(http.readyState == 4){
    var response = http.responseText;
     
    //if(response == "0"){
    	if(response.indexOf('0') != -1 ){
    	document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
    // if login fails
    //document.getElementById('login_response').innerHTML = 'Login failed! Check user and password';
    // else if login is ok show a message: "Welcome + the user name".
    } else {
     
    		document.getElementById('login_response').innerHTML = 'Welcome '+response;
    Merci a vous les mec bonne apre

  9. #9
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Si c'est résolu,clique sur le bouton prévu à cet effet alors

  10. #10
    Membre expérimenté 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
    Points : 1 388
    Points
    1 388
    Par défaut
    Si tu veux l'explication, dans la page php que tu appelles, tu as des sauts de ligne avant d'écrire ta réponse (après ton include, et peut être même dedans), donc la réponse ne sera forcément pas == à 0.

Discussions similaires

  1. [AJAX] xajax : réponse en html et pas XML
    Par mewax dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/01/2007, 15h17
  2. Réponses: 7
    Dernier message: 26/01/2007, 00h39
  3. [AJAX] Lecture de données XML
    Par flgwen dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/01/2007, 09h34
  4. [AJAX] texte réponse Ajax dans un conteneur div
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/02/2006, 18h07
  5. [Prototype] La réponse Ajax...
    Par SpaceFrog dans le forum Bibliothèques & Frameworks
    Réponses: 24
    Dernier message: 25/01/2006, 14h36

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