/ / Détruire la session dans Cakephp lorsque vous quittez la page? - php, session, cakephp, cakephp-2.3

Détruire la session dans Cakephp lorsque vous quittez la page? - php, session, cakephp, cakephp-2.3

Comment et où puis-je utiliser

$this->Session->destroy()

Pour que la session soit détruite chaque fois que la page est fermée?

Et comment puis-je garder la session ouverte jusqu'à la fermeture de la page, indépendamment du temps?

J'ai besoin de cela parce que lorsque l'utilisateur entre dans la page, certaines variables spécifiques sont désactivées dans la session, et lorsqu'il en sort, j'ai besoin que cette session soit détruite. Je ne suis pas capable de faire ça avec Cakephp.

Réponses:

1 pour la réponse № 1

Les sessions sont stockées sur le serveur. Par conséquent, si le navigateur est fermé ou si l'utilisateur affiche une page différente, il n'est pas obligé d'informer le serveur de cette action.

Les sessions sont stockées pendant un certain temps sur le serveur et, après un certain temps d'inactivité ou si vous vous déconnectez correctement, elles seront automatiquement détruites.

Vérifier les informations sur les sessions dans Livre de recettes CakePHP pour plus d'informations sur les sessions


0 pour la réponse № 2

Vous pouvez essayer d'utiliser $(window).unload(function(){alert("Closing browser")}); Et faire appel au serveur ajax pour détruire la session, mais cela peut ne pas fonctionner sur certains navigateurs et la fonction déjà dépréciée dans jQuery 1.8 pour plus d'informations http://api.jquery.com/unload/


0 pour la réponse № 3

Si vous avez utilisé les composants Auth cakephp 3.0, nul besoin de faire toute la gestion de session et de cookie effectuée par les composants de base de la session.

$ this-> Session-> destroy ()

il détruira tous les cookies et les données de session mais si vous voulez détruire une session particulière, vous pouvez le faire avec ce code

$ this-> Session-> destroy ("$ val");

ici, $ val représente une session particulière pour détruire