$_SESSION et déconnexion

Résolu
lagombe Messages postés 45 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 mars 2008 - 16 déc. 2005 à 09:58
lagombe Messages postés 45 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 mars 2008 - 16 déc. 2005 à 14:27
Salut à tous,



voilà mon problème : j'utilise des variables de session sur une appli
avec nom utilisateur et login... et en fait je n'arrive pas à "vider"
ma variable de session à la déconnexion, si bien que l'utilisateur
suivant "profite" de la variable de session du précédent utilisateur...
j'ai tout (dans des élans de déception ;-) ) essayé unset($_SESSION);,
$_SESSION=array();, session_destroy();... merci de votre aide...

lagombe

6 réponses

lagombe Messages postés 45 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 mars 2008
16 déc. 2005 à 14:27
A y est... plus c'est évident, moins on y arrive... si le gros benêt que je suis faisait un petit coup de session_start(); avant sa ligne verif_connect();...
de toute façon, merci à vous pour vos participations.

lagombe
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 déc. 2005 à 11:07
Hello,

étonnant...tu devrais montrer ton code.
Ce qui m'étonne le plus, c'est surtout que l'utilisateur suivant profite de la session du précédent utilisateur : si le client web est fermé, la session devrait être détruite.

Question : tes utilisateurs utilisent-ils le même client web ?
Ce que tu peux essayer de faire : récupérer le SID de la session, et effacer le cookie serveur correspondant.
0
tetedemul Messages postés 47 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 4 janvier 2006
16 déc. 2005 à 11:11
D'après la doc php, le code suivant fonctionne :
$_SESSION = array();//vide le tableau des variables de session (le remplit par rien en fait)
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time()-42000, '/');
}//détruit le cookie
session_destroy();//détruit la session (mais pas les données, ça a été fait par la ligne précédente)

Debutant informatique :-)
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 déc. 2005 à 11:49
o_Ô

Bah y a rien qui cloche dans ce code... c'est bizar... .. .

@ tchaOo°
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
16 déc. 2005 à 11:51
Est ce que ... plus loin dans ton code, tu fais appel a un cookie pour vérifier une quelconque présence d'un utilisateur (genre login/pass par ex ) ?

Il existe session_unset() aussi... au cas ou :o
0
lagombe Messages postés 45 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 mars 2008
16 déc. 2005 à 14:05
Bon... ben y'a un souci... déjà je n'utilise pas de cookies
($_COOKIE)... j'ai mis dans mon logout.php le code de tetedemul, plus
le session_unset(); de FhX :

<?

require("system/secure.inc");

verif_connect();

$_SESSION = array();

session_unset();

if (isset($_COOKIE[session_name()])) {

setcookie(session_name(), '', time()-42000, '/');

}

session_destroy();

header("Location:index.php");

?>



pour tester, j'ai mis à l'entrée de ma page d'accueil (la suivante d'index) le code suivant :

<?php

session_start();

print_r($_SESSION); ...



et si je me déconnecte, me reconnecte sous un autre nom, j'ai la liste
des $_SESSIONS de l'utilisateur précédent qui s'affiche en haut de la
feuille alors que $_SESSION devriat être vierge voire inconnue!



Comprends pas moi :-(


lagombe
0
Rejoignez-nous