lagombe
Messages postés45Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 mars 2008
-
16 déc. 2005 à 09:58
lagombe
Messages postés45Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 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
Messages postés45Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 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.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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.
tetedemul
Messages postés47Date d'inscriptionvendredi 16 avril 2004StatutMembreDerniè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)
lagombe
Messages postés45Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 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!