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] Appel Ajax Jquery Session


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 59
    Points
    59
    Par défaut [AJAX] Appel Ajax Jquery Session
    Bonjour à tous,

    Voilà mon problème, j'ai un fichier application.js que j'appelle dans mon fichier index.php.

    Dans ce fichier application.js, j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $.ajax({ // Requete ajax
    type: "POST", // envoie en POST
    url: "http://www.jaimetoo.com/cayoteux/theme/js/connexion.php", // url cible du script PHP
    async: true, // mode asynchrone
    data: "nom=vincent&prenom=vincent", // données envoyées
       		success: function(msg){
         		alert( "Data Saved: " + msg );
       }
     });
    Mon but est en fait d'envoyer des données ajax vers une page PHP "connexion.php" dans laquelle je veux creer des variables de sessions PHP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
     
    if (isset($_POST['nom']))
    {
            $_SESSION = array();
            $_SESSION['logged'] = 1;
            $_SESSION['nom'] = $_POST['nom'];
    }
     
    ?>
    Ces variables de sessions seront remplies des valeurs recuperees de mon fichier application.js

    Et j'ai un troisième fichier dans lequel je test si la session a bien été créée controller.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
    if(isset($_SESSION['logged']) && ($_SESSION['logged'] == 1))
    {
            echo "test";
    }
    ?>
    Mais ça ne fonctionne pas. Lors de l'execution du fichier application.js, j'obtiens la fenetre "Data Saved:" et pourtant lorsque je me rend sur ma page http://www.jaimetoo.com/cayoteux/ind...controller.php, rien ne s'affiche comme si la session n'avait pas été créée. Pourtant j'inclus toutes mes page dans mon index.php...

    Mon site: http://www.jaimetoo.com/cayoteux/
    Le fichier application.js se lance en cliquant sur Connect with Facebook en bas de page.

    Merci de votre aide.

  2. #2
    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
    Tu as bien mis des session_start() dans chaque fichier ?
    Sinon, l'identifiant de session est-il bien envoyé ? En particulier, si l'identifiant est stocké dans l'URL, il faut l'ajouter manuellement à l'URL de destination de la requête AJAX.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Tu as bien mis des session_start() dans chaque fichier ?
    Sinon, l'identifiant de session est-il bien envoyé ? En particulier, si l'identifiant est stocké dans l'URL, il faut l'ajouter manuellement à l'URL de destination de la requête AJAX.

    Pour le session_start, je l'ai mis tout en haut de ma page index.php, toutes les autres page sont appellées dans cette meme page index, donc normalement c'est bon.

    Pour l'identifiant de session, de quoi tu veux parler ? La session ne comment que dans le fichier connexion.php.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Ah tu avais raison, j'ai mis le session_start vraiment dans tous les fichiers et ca fonctionne !

    Bizare ils sont pourtant tous inclus dans ma page index !

    Merci encore

  5. #5
    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
    Citation Envoyé par 20cents
    Bizare ils sont pourtant tous inclus dans ma page index !
    Ben oui, mais ta page index n'a pas de raison d'être appelée dans un appel AJAX
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Une derniere chose,

    Voilà mon fichier application.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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    // Facebook Connect
    function auth_using_fb() {
     
    	// Recuperation des donnees de l'utilisateur depuis FB
    	var viewer  = FB.Facebook.apiClient.fql_query(
     
    	  'SELECT uid, name, pic_square_with_logo,profile_url FROM user WHERE uid='+FB.Facebook.apiClient.get_session().uid,
     
    	  function(results) {
    	    update_userbox( results[0].uid,
    						results[0].name,
    	                    results[0].pic_square_with_logo,
    	                    results[0].profile_url,
    	                    'FB.Connect.logoutAndRedirect("index.php");return false;')
    	  }
    	);
    }
     
     
    // Le fonction generique met a jour #userbox avec les informations recuperees depuis les services
    function update_userbox(uid, name, image, url, logout) {
     
    	$.ajax({ // Requete ajax
    		type: "POST", // envoie en POST
    		url: "http://www.jaimetoo.com/cayoteux/theme/scripts/connexion.php", // url cible du script PHP
    		data: "nom="+name+" vous êtes connecté", // données envoyées
       });
     
    	// Remplissage des champs dans #userbox et affichage de ces derniers
    	$('#userbox').html( "<img alt='"+name+"' src='"+image+"' />"
    	                  + "<div class='infos'>Bienvenue <a href='"+url+"'>" + name + "</a><br />"
    					  + "vous êtes maintenant connecté.<br />"
    	                  + "<a href='./index.php' onclick='" + logout + "'>Se déconnecter</a></div>" ).show();
     
    	// On cache le champ Nom et les boutons de login des services
    	$('#userinfo').hide();
     
    	// Remplissage des champs en utilisant les donnees des services
    	$('#name').val(name);
    	$('#url').val(url);
    	$('#image').val(image);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a href='./index.php' onclick='" + logout + "'>Se déconnecter</a>
    Cette ligne permet la déconnexion de Facebook, mais j'aimerais que ce lien exécute aussi le fichier "deconnexion.php", qui contient un session_destroy(), pour mettre fin à la session.
    Comment je peux faire ?

    Je pensais qu'i suffisait juste de remplacer "./index.php" par "deconnexion.php" dans lequel je place un header location, mais ca ne fonctionne pas. Il prend en compte juste le javascript

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

Discussions similaires

  1. [AJAX] appel AJAX lors d'une perte de session
    Par CocoLeNain dans le forum AJAX
    Réponses: 0
    Dernier message: 31/05/2010, 21h35
  2. [AJAX] Appels Ajax synchrones et IE (7 et 8)
    Par zambizi dans le forum AJAX
    Réponses: 2
    Dernier message: 28/05/2009, 17h49
  3. [AJAX] appel ajax manqué
    Par sliderman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/01/2008, 09h17
  4. [script.aculo.us] Appel Ajax dans Ajax
    Par guiltouf dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 22/05/2007, 12h29
  5. [AJAX] appel Ajax DOM
    Par MALAGASY dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/09/2006, 13h16

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