2013-05-21 68 views
2

我有一个应用程序,我想让用户选择保持登录相当长的一段时间,说3天类似谷歌邮件,脸谱或LinkedIn。 (这意味着主要通过电话访问,数据远不如手机上的其他内容敏感)。现在,我在登录时设置了大约四个会话变量,例如用户名,姓名等,以避免大量的重新编码和功能丢失,我想所有这些变量保持可访问。php保持会话活动多​​天

在设置会话变量时,有没有办法将会话长度增加到72小时?

或者,如果您需要设置cookie,当设置了多个会话变量时,实现长时间登录时间的最佳做法是什么。

谢谢。

回答

3

您可以通过各种方式设置会话。其中一种方法是用PHP设置它在php.ini

session.gc_maxlifetime = 360*72 

你可以用

ini_set(’session.gc_maxlifetime’, 360*72); 

做到这一点,你也可以使用

session_set_cookie_params(360*72,"/"); 

http://pl1.php.net/session_set_cookie_params

它设置会话cookie。您还可以序列化$ _SESSION并将其设置为cookie。

+1

一生在几秒钟内,而不是在几分钟内... – bwoebi

+0

感谢我编辑过的建议。 – Robert

+0

回到学校xD ... 60 * 60 <> 360 ... – bwoebi

0

我想这是可能只有通过写会话数据库

你可以在许多天以后设置用户请求相同的万岁饼干&校验值。

使用cookie值作为表中的关键字来验证用户身份。

然后从数据库重新加载该用户的会话。

+0

大多数的购物车网络应用程序在做(包括godaddy和bigrock)相同..;) –

0

也许你可以使用HTML5的local storagesession storage的功能吗?

我知道这不完全与cookie相同,但我只是想提出这个建议。也许它可以帮助:)

手机上旧版本的浏览器可能存在小版本问题。你可以检查它们:http://caniuse.com/namevalue-storage

还有另外一件事。您可以使用“记住我”cookies来长期存储重要信息。据我所知,延长cookie的使用寿命并不是一种“良好做法”。