$_SESSION et déconnexion

[Résolu]
Signaler
Messages postés
45
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 mars 2008
-
Messages postés
45
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 mars 2008
-
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
A voir également:

6 réponses

Messages postés
45
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 mars 2008

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
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
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.
Messages postés
47
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
4 janvier 2006

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 :-)
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

o_Ô

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

@ tchaOo°
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
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
Messages postés
45
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 mars 2008

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