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
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
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); }
Ma session se crée correctement, je fais le test en affichant les variables de session dans un fichier PHP.
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>
Fichier connexion.php
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.
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']; } ?>
Fichier deconnexion.php
Merci de votre aide
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/"); ?>
Partager