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:
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:
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:
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:
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