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] XmlHttprequest + execution script php


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut [AJAX] XmlHttprequest + execution script php
    Bonsoir,

    J'ai suivi quelques tutos, j'ai beaucoup lu, j'ai essayé plusieurs choses mais je n'arrive pas au résultat voulu.

    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
    function nick_change(){
    var xhr_object = null; 
    if(window.XMLHttpRequest) // Firefox 
    	xhr_object = new XMLHttpRequest(); 
    	else if(window.ActiveXObject) // Internet Explorer 
    	xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
    	else { // XMLHttpRequest non supporté par le navigateur 
    	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		return; 
    	} 
     
    xhr_object.open("POST","js_nick.php",true);
    xhr_object.onreadystatechange = function()
            {
            if (xhr_object.readyState == 4){
                xhr_object.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    	     var data = "pseudo="+document.getElementById('new_nick').value;
    	     xhr_object.send(data);
          		  }
            }
    }
    Aussi, voilà mon code de js_nick.php: (tout bête)

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['login'] = $_POST['pseudo'];
    ?>

    Alors, juste pour une petite chose comme ça, je galère. Quelqu'un pourrait-il m'éclairer s'il vous plait?

    (j'ai fait un test en mettant un alert() après le xhr.send(), il me l'affiche , je ne comprends pas )

    Question: pourquoi ma var $_SESSION['login'] ne se change-t-elle pas?

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    il faut sortir le send() du onreadystatechange ....
    Ce dernier est exécuté à réception de la réponse, alors que le send() est là pour l'envoi.
    Tu reçois bien une réponse, mais tu n'as pas envoyé le paramètre (data) : tu l'envoies lors du retour, ce qui n'a pas d'effet (pas de modif de ta variable session).

    Par contre, tu ne "verras" rien de mieux, puisque tu ne traites pas la réponse (xhr_object.responseText)

    A+

  3. #3
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Comment ça je ne traite pas la réponse?
    Si le script php s'execute, c'est good nan?

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par radicaldreamer Voir le message
    Comment ça je ne traite pas la réponse?
    Si le script php s'execute, c'est good nan?
    Le script PHP génère (enfin .... devrait * ) la réponse suite à l'appel Ajax et la renvoie au navigateur.
    Celui-ci doit ensuite la traiter.
    Essaye d'ajouter dans ta fonction onreadystatechange
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(xhr_object.responseText);
    * En fait non, puisque tu ne fais aucun "echo" dans ton script PHP : le navigateur ne peut pas "voir" une modification de variable session, puisque celle-ci est sur le serveur
    ==> Il faut aussi modifier ton code PHP
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    session_start();
    $_SESSION['login'] = $_POST['pseudo'];
    echo "OK";
    ?>
    A+

  5. #5
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Merci, je regarderai ça ce soir!

  6. #6
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Voilà, je viens de rentrer. Je viens de tester et .... Ca ne marche toujours pas.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2010, 16h10
  2. Exécution script php
    Par devmat dans le forum Linux
    Réponses: 11
    Dernier message: 22/04/2007, 11h14
  3. [AJAX] Lancer un script PHP au passage de la souris !
    Par DiabolO dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 31/08/2006, 23h44
  4. [Directives] Execution script php en ligne de commande
    Par pingoo78 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/02/2006, 12h06
  5. [Serveur] executer script php sur red hat
    Par jj del amorozo dans le forum Apache
    Réponses: 6
    Dernier message: 08/02/2006, 15h29

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