IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Session qui continue après la fermeture du navigateur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut Session qui continue après la fermeture du navigateur
    Bonjour,

    Je suis entrain de mettre en place un systeme à base de session. En gros, j'ai un menu avec certains liens qui ne sont là 'que' pour déplier le sous menu. Dans ce cas, je réaffiche la page sur laquelle l'utilisateur était, page judicieusement conservée en session. Tant qu'on reste connecté le système fonctionne nickel.
    Par contre, après fermeture du navigateur, si je reviens sur le site, la page en session est encore là, et au lieu d'arriver sur la page d'accueil de mon site, j'arrive sur la derniere page ou j'étais en quittant.
    Bref, après avoir lu cette page, il apparait qu'il faut mettre le lifetime à zero. Mais visiblement, c'est déjà le cas chez moi. Ci dessous l'extrait de mon phpinfo() qui concerne les sessions, et un bout de code ou j'enfonce le clou pour tenter de forcer (en vain) la destruction de la session à la fermeture du navigateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    session.auto_start Off Off 
    session.bug_compat_42 On On 
    session.bug_compat_warn On On 
    session.cache_expire 180 180 
    session.cache_limiter nocache nocache 
    session.cookie_domain no value no value 
    session.cookie_httponly Off Off 
    session.cookie_lifetime 0 0 
    session.cookie_path / / 
    session.cookie_secure Off Off 
    session.entropy_file no value no value 
    session.entropy_length 0 0 
    session.gc_divisor 100 100 
    session.gc_maxlifetime 1440 1440 
    session.gc_probability 1 1 
    session.hash_bits_per_character 4 4 
    session.hash_function 0 0 
    session.name PHPSESSID PHPSESSID 
    session.referer_check no value no value 
    session.save_handler files files 
    session.save_path E:/wamp/tmp E:/wamp/tmp 
    session.serialize_handler php php 
    session.use_cookies On On 
    session.use_only_cookies Off Off 
    session.use_trans_sid 0 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    session_name($this->_nom_session);
    ini_set('session.cookie_lifetime', 0);
    ini_set('session.cache_expire', 0);
    session_set_cookie_params(0);
    session_start();
    (...)
    Bref, comment faire en sorte que la session soit vraiment détruite à la fermeture du navigateur ?

    Merci d'avance ;-)

  2. #2
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Apparament, le bug vient du session_name($this->_nom_session);.
    Quand j'enleve le session name, alors à la fermeture du navigateur, la session est correctement détruite.
    Si quelqu'un sait comment contourner ce bug de php...

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 681
    Par défaut
    sur mes pages j'utilise juste "session_set_cookie_params" et je n'ai jamais eu ce problème que ce soit avec PHP 4 ou PHP 5 par exemple
    quand tu fermes le navigateur est ce que tu fermes bien toutes les fenêtres ? sinon regarde aussi les détails des cookies, tu pourras voir si le cookie de la session a la bonne date d'expiration

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/03/2009, 11h04
  2. Réponses: 9
    Dernier message: 21/05/2007, 17h27
  3. [VB.NET] Fermeture du navigateur et fin de session
    Par Dadou74 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/11/2006, 10h43
  4. Réponses: 5
    Dernier message: 24/10/2006, 11h56
  5. Réponses: 2
    Dernier message: 29/08/2006, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo