如何在浏览器关闭后继续CakePHP 1.3会话?浏览器关闭后继续CakePHP会话
回答
您必须将其转换为cookie,因为在浏览器关闭时会自动删除会话。见this。
当浏览器关闭时Cookie不会被破坏。
设置$this->Session->cookieLifeTime = $timeToLive;
,其中$timeToLive
是您希望会话持续的秒数。这是总长度,所以如果浏览器窗口关闭,它不会被删除,但请注意,从浏览器关闭时开始,它是而非。
记录在哪里? – sholsinger 2010-11-11 00:29:55
@sholsinger - 在我的答案中点击示例代码行。 – Iiridayn 2010-11-12 19:45:12
我不得不说,这可能是最容易实现的。道具,michaelc。这并不意味着我认为与源文件的链接是“文档”。事实是,CakePHP的文档没有列出会话类的公共属性,这是不幸的。 – sholsinger 2010-11-12 22:23:26
似乎有办法通过重写的配置值增加会话的生存时间。 (在PHP级别 - 通过CakePHP Manual)。使用下面的代码,您可以将0更改为希望会话生存的秒数。
2周// Cookie is now destroyed when browser is closed, doesn't
// persist for days as it does by default for security
// low and medium
ini_set('session.cookie_lifetime', 0);
实施例:
ini_set('session.cookie_lifetime', 60 * 60 * 24 * 14);
上面代码段将被写入到在app/config
创建的配置文件。为了让CakePHP的阅读在初始化该文件添加以下内容app/config/core.php
Configure::write('Session.save','my_session');
哪里my_session
是您的配置文件的名称。
- 1. .NET会话 - 持续会话,即使用户关闭浏览器
- 2. HTML5中的离线webapps - 关闭浏览器后继续?
- 3. 关闭浏览器会话丢失
- 4. 谷歌浏览器关闭浏览器后保持会话变量
- 5. Spring Roo - 在浏览器关闭时关闭会话
- 6. 在浏览器上关闭会话关闭
- 7. 关闭浏览器或标签时关闭Asp.Net会话
- 8. javascript-ajax-关闭JAVA中关闭浏览器的会话
- 9. 在浏览器中关闭会话值关闭
- 10. 关闭浏览器/选项卡上的会话关闭
- 11. MVC - 为什么浏览器关闭后会话丢失?
- 12. 会话将在关闭浏览器后被删除nodejs
- 13. 关闭浏览器后的ASP.NET会话状态
- 14. 即使在浏览器关闭后仍维持会话
- 15. 即使浏览器关闭后,是否可以保持会话?
- 16. 在Firefox浏览器关闭后新的PHPSESSID恢复PHP会话
- 17. 浏览器关闭后验证/会话cookie删除
- 18. PHP:关闭浏览器后保持旧会话ID
- 19. 在浏览器关闭asp.net的放弃会话。关闭会话cookie
- 20. ASP.net会话如果他关闭浏览器会破坏
- 21. MSAL浏览器对话框关闭
- 22. Flask.session在关闭浏览器后持续存在
- 23. 为什么在用户关闭浏览器后symfony控制器会继续执行?
- 24. 会话在使用状态服务器关闭浏览器后过期
- 25. PHP会议上就关闭浏览器
- 26. 应用内浏览器不会关闭
- 27. Java Selenium关闭浏览器后assertTrue
- 28. 一段时间后关闭浏览器
- 29. 如何在codeigniter3中关闭浏览器时保持会话?
- 30. 会话不被破坏浏览器关闭
看到这个http://www.captain.at/howto-php-sessions.php。无论设置了多久,浏览器关闭后会话都会被销毁。这使它与cookies不同。如果我再犯错,请纠正我,并引用您的来源。 – Skaty 2010-11-07 13:14:44
是的,Skaty说的是要走的路。您需要将会话数据转换为Cookie数据。 – Ashok 2010-11-09 08:13:05
技术上它已经是一个cookie了。当浏览器窗口关闭时,它会被丢弃,因为cookie的生存期为0秒。 – sholsinger 2010-11-11 00:36:57