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 jusqu'à la fermeture du nav.


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut Session jusqu'à la fermeture du nav.
    Salut,

    Je passe par le fichier php.ini pour fixer la durée des sessions avec ces variables:
    session.gc_maxlifetime= 17760085
    session.cookie_lifetime = 17760085

    Pour utiliser les sessions, je procède comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    session_start() ;//Dans toutes les pages.
     
    //Après vérification login/mot de passe:
    // 1 row found exactly, we have the user!
    $_SESSION['user'] = $row_user["user_login"];
    $_SESSION['user_id'] = $row_user["user_id"];
    Donc si les utilisateurs ferment leurs navigateurs, ils retrouvent leurs sessions précédentes et n'ont pas besoin de se ré-identifier.

    Maintenant, je voudrais ajouter une checkbox qui supprime la session à la fermeture du navigateur.

    J'ai ajouté ceci:
    session_set_cookie_params(0) ;
    Mais les sessions sont toujours active si je ferme/relance le navigateur.

    Comment je peux modifier la durée d'une session pour qu'elle s’arrête à la fermeture du navigateur ?

    Merci,
    Vincent.

  2. #2
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,

    comme ta question m'intéresse j'ai un peu cherché sur le net, et je pense que si tu regardes avec l'evènement onbeforeunload tu pourrais faire en sorte que tes session soient supprimé avec la fonction session_destroy.

    Je continue de chercher pour voir s'il y a pas plus simple

    en effet il y a plus simple, regarde session.cookie_lifetime. Cela permet de définir la duré de vie d'un cookie (et du coup de la variable session) après la fermeture du navigateur.

    J'ai trouvé sur ce post
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par Retrokiller069 Voir le message
    Bonjour,

    comme ta question m'intéresse j'ai un peu cherché sur le net, et je pense que si tu regardes avec l'evènement onbeforeunload tu pourrais faire en sorte que tes session soient supprimé avec la fonction session_destroy.

    Je continue de chercher pour voir s'il y a pas plus simple

    en effet il y a plus simple, regarde session.cookie_lifetime. Cela permet de définir la duré de vie d'un cookie (et du coup de la variable session) après la fermeture du navigateur.

    J'ai trouvé sur ce post
    J'ai essayé ceci avant le session_start() et ca ne marche pas non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if((isset($login) && ($remember != "checked"))) {
      ini_set('session.cookie_lifetime',(0));
      session_cache_expire(0) ;
    }

  4. #4
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    et en faisant ceci est ce que ca marche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php setCookie('PHPSESSID', '', (time() - 3600, '/'); ?>
    PHPSESSID = est le nom du cookie qui contient la variables session.
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par Retrokiller069 Voir le message
    et en faisant ceci est ce que ca marche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php setCookie('PHPSESSID', '', (time() - 3600, '/'); ?>
    PHPSESSID = est le nom du cookie qui contient la variables session.
    Non, ça ne marche pas
    J'ai essayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setCookie(''.session_name().'', session_id(), (time() - 3600), '/');
    Même ceci ne marche pas !
    setcookie(session_name(),session_id(),7777777);


  6. #6
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par Retrokiller069 Voir le message
    comme ta question m'intéresse j'ai un peu cherché sur le net, et je pense que si tu regardes avec l'evènement onbeforeunload tu pourrais faire en sorte que tes session soient supprimé avec la fonction session_destroy
    Bon ben je pense qu'il ne te reste plus qu'à chercher une solution avec ceci, si tu trouves je suis intéressé ^^
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  7. #7
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2008
    Messages : 106
    Points : 152
    Points
    152
    Par défaut
    Ce serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie(session_name(), session_id(), 0, '/');

Discussions similaires

  1. fermeture de session avec la fermeture du navigateur
    Par Mobius dans le forum Sécurité
    Réponses: 12
    Dernier message: 20/10/2009, 10h39
  2. Réponses: 5
    Dernier message: 07/09/2009, 18h37
  3. Session, ouverture et fermeture dans un script
    Par Invité4 dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2007, 10h06
  4. [Win2000 SRV] Ouverture de session et puis fermeture tout de suite
    Par annedeblois dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 20/10/2007, 10h36
  5. [Session]Problème de fermeture de session
    Par july dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 16/06/2005, 12h25

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