[Résolu] Sessions php - cookies - restauration de session

Sessions php - cookies - restauration de session [Résolu] - PHP - Programmation

Marsh Posté le 03-11-2012 à 14:17:24    

Plop tout le monde !
 
Je suis en train de mettre un site en place en ce moment, mais je rencontre quelques problèmes ...
J'ai une checkbox qui devrait permettre de régler la durée de la session : effacement à la fermeture du naviguateur ou 1 an
voilà la fonction qui permet de régler la durée de vie de la session :
 

Code :
  1. function setSessionCookie($stayConnected,$maxTime) {
  2. if ($stayConnected)
  3.  setcookie(session_name(),$_COOKIE[session_name()], time() + $maxTime,'/');
  4. else
  5.  setcookie(session_name(),$_COOKIE[session_name()], 0, '/');
  6. }


 
Dans firefox et chrome, les cookies indiquent les bonnes valeurs (1 an plus tard et fermeture de la session)
Quand je quitte le navigateur ou que je quitte l'onglet du site, le cookie disparait, mais le gros problème est que si je reviens sur le site, avant ou après la fermeture du navigateur, le cookie PHPSESSID réapparait avec la même valeur : la session a été restaurée alors qu'elle aurait du être effacée :(
 
J'ai vu sur le net que firefox restaurait les cookies si l'on appuyait sur le bouton de restauration de session, mais la il suffit de retourner sur le site ...
Merci d'avance pour votre aide :D


Message édité par zownierd le 05-11-2012 à 00:50:14
Reply

Marsh Posté le 03-11-2012 à 14:17:24   

Reply

Marsh Posté le 03-11-2012 à 18:48:06    

setcookie('account', 0, time() - 3600, '/');
unset($_COOKIE['account']);
session_destroy();
session_start();


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 04-11-2012 à 22:37:55    

j'ai essayé cette solution, mais ce n'est pas ce qu'il me faut :
j'essaye simplement que mon cookie ne revienne pas après une fermeture de navigateur.
Cette solution détruit le cookie est redémarre une session
 
Le but de l'opération est de faire comme quasi tous les sites qui ont un login : une session qui reste très longtemps et une autre plus sécurisée, qui déloggera l'utilisateur en cas de fermeture du naviguateur.
 
Si je m'y prends de travers pour arriver à ça, dites le moi  :pt1cable:  
 
Voilà sur firefox le cookie avec et sans ma checkbox "rester connecté" :
http://img836.imageshack.us/img836/4273/sanstitreeq.png
http://img809.imageshack.us/img809/1439/sanstitre2qh.png
Le problème est toujours que le cookie représenté sur la première de ces images n'expire pas à la fermeture du navigateur ni sous firefox ni sous chrome

Reply

Marsh Posté le 05-11-2012 à 00:52:18    

ne vous dérangez plus, j'ai trouvé le problème qui était tout bête, au final la fonction du dessus est juste, il fallait simplement avoir en tête qu'il fallait bien avoir un cookie en permanence étant donné que j'avais un session_start(); en haut de la page d'index :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

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