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