2011-02-11 102 views
1

我需要帮助一个有点简单的任务,但我想解决这个任务,以便它可以在所有浏览器上工作。我唯一的问题是,我只能访问Mac和PC机。所以这里是我需要做的:需要帮助的PHP会话 - 登录

我有一个用户区,人们参加测验。一些测验比其他测验更长,发生的事情是用户快速完成测验,测验被提交和评分。但是,例如,如果用户花费的时间超过30分钟到一个小时,则测验不会提交,它会将用户踢回我的主页。

我使用PHP和SESSIONS作为用户登录数据。我的SESSIONS上没有任何有效期限,我不知道为什么会这样做。我需要切换到Cookie吗?或者我可以添加一些东西到会话,使用户永远不会被注销,直到点击“注销”链接。

任何帮助和建议,非常感谢。

+0

会话超时ID默认为30分钟,但你可以增加它到你need.ini_set(“session.gc_maxlifetime”,“18000”); – 2011-02-11 01:44:15

回答

0

您可以在php.ini文件中配置它,定义会话的全局超时。

但是,在应用程序运行时期间,您可以将其定义为ini_set变量。

在这里,您可以在上次服务器请求后设置90分钟的超时时间。

ini_set('session.cache_expire',90); 

更多关于会议的ini,你可以在这里找到:http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime

您可以扩展这个时候曾经要求。我不知道禁用会话过期。

但是,作为替代方法,您可以启用服务器上的某些轮询以标志用户交互。即一些例子是在这里找到:jQuery - polling of a job queue这里http://enfranchisedmind.com/blog/posts/jquery-periodicalupdater-ajax-polling/

的[],

和过去的