Variables qui restent même après une fermeture de session???

Variables qui restent même après une fermeture de session??? - PHP - Programmation

Marsh Posté le 10-09-2004 à 11:52:04    

Bonjour, j'ai le problème suivant en PHP:
 
Je développe un portail permettant à un utilisateur de se logger (vérification du mot de passe), puis de communiquer avec une BDD. Le tout passe par des variables de session qui fonctionnent très bien (j'utilise $_SESSION).
La session est gérée de la façon suivante:

Code :
  1. <!-- Gestion de la session -->
  2. <?php
  3. /* Configure le limiteur de cache à 'private' */
  4. session_cache_limiter('private');
  5. $cache_limiter = session_cache_limiter();
  6. /* Configure le délai d'expiration à 10 minutes */
  7. session_cache_expire (10);
  8. $cache_expire = session_cache_expire();
  9. session_start(); ?>


 
Le problème qui se pose, c'est que je n'arrive pas à délogger l'utilisateur! C'est à dire qu'à chaque fois qu'il se délogge et qu'un nouvel utilisateur se logge, il se retrouve avec les variables de session de du 1er utilisateur, et ça jusqu'à l'expiration du cache définie plus haut!
 
J'ai une page appelée "deconnexion.php" qui affiche un message et utilise le code suivant:

Code :
  1. <!-- Gestion de la session -->
  2. <?php 
  3. session_start();
  4. $_SESSION = array();
  5. session_destroy();
  6. ?>


 
Donc où est-ce que j'ai merdé? J'utilise le cache de 10 minutes pour que l'utilisateur puisse utiliser la fonction "Précédent" de son navigateur sans avoir à se relogger, il ne faut pas?
 


---------------
J'aime pas Apple...
Reply

Marsh Posté le 10-09-2004 à 11:52:04   

Reply

Marsh Posté le 10-09-2004 à 11:53:50    

je ne peux pas t'aider pour ton problème car j'y connais rien aux sessions. Je peux juste te proposer d'aller lire la documentation sur la classe Auth.php sur pear.php.net. J'ai utilisé cette classe pour authentifier mes utilisateurs et ça marche bien sans réinventer l'eau chaude !

Reply

Marsh Posté le 10-09-2004 à 12:27:00    

essaye unset($_SESSION) à la place de $_SESSION = array() mais ca ne doit pas changer grand chose

Reply

Marsh Posté le 10-09-2004 à 12:33:47    

moxfulder -> Merci, je vais regarder, enfin je ne pense pas que ça règle mon problème de sessions...
 
spike -> J'ai déjà essayé, c'est pas mieux...
 
En fait je vais préciser un peu mon problème:
Dans une page PHP j'ai ce code là:

Code :
  1. $_SESSION['idclient'] = $id;
  2. $_SESSION['identifiant'] = $login;


 
($id provient d'un fichier texte, $login provient d'un formulaire)
 
Si j'affiche ces 2 variables de session, elles sont bonnes!
Ensuite je clique sur un lien, j'arrive dans une nouvelle page PHP, je fais ça:

Code :
  1. echo "Vous êtes connecté sous : ".$_SESSION['identifiant'];
  2. $idclient = $_SESSION['idclient'];


et là les variables de cession n'ont pas été mises à jour avec les nouvelles valeurs, elles ont toujours la valeur qui leur a été donnée par le 1er utilisateur...  
 
Donc ça marche la 1ère fois, puis pendant les 10 minutes suivantes j'ai toujours les 1ères valeurs au lieu d'avoir les nouvelles valeurs mises à jour!


---------------
J'aime pas Apple...
Reply

Marsh Posté le 10-09-2004 à 14:31:38    

Petite modification, ce n'est même pas au bout de 10 minutes qu'un nouvel utilisateur peut se logger, c'est seulement quand je modifie le code de la page PHP qui pose problème!
 
Tant que je ne touche pas au code de celle-ci elle affiche toujours la même valeur pour les variables de session, même si je les ai mises à jour, mais dès que je resauvegarde cette page PHP, un simple Refresh permet de mettre à jour les variables de session! (après en revanche elles sont de nouveau figées à cette valeur)
 
Là j'en perds mon latin, je ne sais vraiment plus quoi faire!  :cry:
 
EDIT: Bon là c'est certain, dès que je resauvegarde le fichier PHP, j'ai juste à le rafraîchir à l'écran pour que d'un coup il ait les bonnes valeurs pour les variables de session (alors que si je rafraichis sans avoir resauvegardé le fichier, rien n'est changé)! Alors c'est quoi le problème, juste une histoire de cache d'internet explorer???  :??:


Message édité par Alkor2001 le 10-09-2004 à 14:52:06

---------------
J'aime pas Apple...
Reply

Marsh Posté le 10-09-2004 à 15:43:28    

Et si tu nommes ta session ca marche pas mieux ?

Reply

Marsh Posté le 10-09-2004 à 15:59:42    

Nan, ça ne change rien...  :sweat:  
 
Mais en fait mon problème n'a rien à voir avec les sessions, c'est plus avec le cache d'internet explorer que ça merde!


---------------
J'aime pas Apple...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed