我如何以及在何处使用
$this->Session->destroy()
每当页面关闭时会销毁会话吗?
如何在页面关闭之前保持会话开放,与时间无关?
我需要这个,因为当用户进入页面时,会话中未设置某些特定变量,当他出来时,我需要销毁此会话。 我无法使用cakephp做到这一点。
答案 0 :(得分:1)
会话存储在服务器上,因此如果浏览器关闭或用户转到其他页面,则没有义务向服务器通知此操作。
会话在服务器中存储了一段时间,经过一段时间不活动或正确注销后,会自动将其销毁。
检查CakePHP cookbook中的会话信息,了解有关会话
的更多信息答案 1 :(得分:0)
您可以尝试使用$(window).unload(function(){alert('Closing browser')});
并执行ajax调用服务器来销毁会话,但这可能不适用于某些浏览器,并且已经在jQuery 1.8中弃用了函数以获取更多信息
http://api.jquery.com/unload/
答案 2 :(得分:0)
如果您使用过Auth cakephp 3.0组件,则无需执行会话核心组件承载的所有会话和cookie管理。
$这 - >会话而>破坏()
它将销毁所有cookie和会话数据,但如果你想销毁特定会话,那么你可以通过这个代码来做
$这 - >会话而>破坏( '$ VAL');
这里,$ val表示要销毁的特定会话