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 :

Fermeture Session depuis fichier Js


Sujet :

JavaScript

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 59
    Points
    59
    Par défaut Fermeture Session depuis fichier Js
    Bonjour à tous,

    J'ai un fichier application.js que je lance dans le head de ma page index.php.

    Ce fichier contient des fonctions permettant de me logguer à Facebook mais aussi de lancer des fichiers php permettant de creer et supprimer une session PHP.

    Voici le 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("http://www.jaimetoo.com/cayoteux/theme/scripts/deconnexion.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='http://www.jaimetoo.com/cayoteux/theme/scripts/deconnexion.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);
    }
    Voici le lien permettant de lancer les fonctions présentes dans ce fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <fb:login-button length="long" perms="email,user_birthday" onlogin="auth_using_fb();"></fb:login-button>
    Ma session se crée correctement, je fais le test en affichant les variables de session dans un fichier PHP.

    Fichier connexion.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
     
    <?php session_start(); ?> 
     
    <?php
     
    // Déconnexion de l'utilisateur
    if (isset($_POST['nom']))
    {
    	$_SESSION = array();
    	$_SESSION['logged'] = 1;
    	$_SESSION['nom'] = $_POST['nom'];
    }
     
    ?>
    Le problème est lors de la déconnexion. Le fichier deconnexion.php est bien lancé, mais la session n'est pas détruite. La page test continue à m'afficher les valeurs des variables de session alors qu'elles devraient être détruites.

    Fichier deconnexion.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
    // Déconnexion de l'utilisateur
    $_SESSION = array();
    session_unset();
    session_destroy();
    Header("Location: http://www.jaimetoo.com/cayoteux/");
     
    ?>
    Merci de votre aide

  2. #2
    Membre confirmé Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Une petite idée/question : la fonction de connexion Ajax est lancée à chaque affichage des pages, même après redirection sur la page de déconnexion (on est alors reconnecté automatiquement) ?

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Sorry je suis stupide, j'ai oublié le session_start() au début

    Résolu donc !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/03/2010, 16h53
  2. Réponses: 8
    Dernier message: 06/02/2006, 17h38
  3. [SimpleXML] Fermeture d'un fichier XML
    Par FlyByck dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 12/01/2006, 16h10
  4. Extraction de données depuis fichier .NDX ...
    Par Olif_C dans le forum WinDev
    Réponses: 4
    Dernier message: 30/08/2005, 12h57
  5. [Struts]Accès aux Form en session depuis execute?
    Par odoli dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/12/2004, 14h55

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