如何在浏览器关闭后继续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. 即使我关闭浏览器,继续进行会话
- 2. 关闭浏览器后保持会话
- 3. .NET会话 - 持续会话,即使用户关闭浏览器
- 4. HTML5中的离线webapps - 关闭浏览器后继续?
- 5. 在浏览器关闭后继续执行存储过程
- 6. CakePHP在浏览器上删除特定会话关闭
- 7. 关闭浏览器会话丢失
- 8. 关闭浏览器清除PHP会话
- 9. 会话cookie不会在浏览器上关闭关闭
- 10. CakePHP cookies在浏览器关闭后不会持久
- 11. 谷歌浏览器关闭浏览器后保持会话变量
- 12. 浏览器关闭后Chrome浏览器中的会话变量仍然存在
- 13. javascript-ajax-关闭JAVA中关闭浏览器的会话
- 14. 关闭浏览器或标签时关闭Asp.Net会话
- 15. 在浏览器上关闭会话关闭Codeigniter 3
- 16. Spring Roo - 在浏览器关闭时关闭会话
- 17. Laravel关闭浏览器关闭会话不在Chrome中工作
- 18. 如何在浏览器中关闭一个会话关闭Django
- 19. GWT:如何在关闭浏览器时关闭会话
- 20. 关闭浏览器/选项卡上的会话关闭
- 21. 在浏览器上关闭会话关闭
- 22. 在浏览器中关闭会话值关闭
- 23. 用户在joomla关闭浏览器后记得会话
- 24. 浏览器关闭后验证/会话cookie删除
- 25. 为什么在浏览器关闭后会话不能清除?
- 26. 即使浏览器关闭后,是否可以保持会话?
- 27. 在Firefox浏览器关闭后新的PHPSESSID恢复PHP会话
- 28. 如何在浏览器关闭后保留会话?
- 29. 关闭浏览器后保持会话生效。
- 30. 关闭浏览器后保持php会话
看到这个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