【发布时间】:2014-08-21 06:56:09
【问题描述】:
我创建了一个用户需要登录的单页网站。用户在此页面上停留的时间可能不同,他们必须选择可能需要 15 分钟到几个小时的产品。
选择完成后,选择通过电子邮件发送,并使用 AJAX 调用发送电子邮件。在此 AJAX 调用中,$_SESSION['user_id'] 用于识别用户,因此我们知道选择来自谁。
如果用户花费的时间超过 1440 秒(24 分钟),则会话过期。现在我将会话超时更改为 3 小时,但问题仍然存在。我几乎无法想象有人需要超过 3 个小时。但他们可能会。也许用户登录,买了一些杂货然后继续。
那么我该如何解决这个问题呢?我想每 5 分钟使用一次 AJAX 调用,希望会话超时时间会被重置。但我不知道这是否可行,以及是否可以解决此问题。
【问题讨论】:
-
你有没有像
session_start();这样在页面顶部开始会话 -
@SKRocks,是的,我在用户登录后开始了会话。登录页面是一个不同的页面,用户在登录后被重定向到另一个页面。该页面执行
session_start()。 -
所有页面?您在哪里设置以及在哪里访问会话?
-
通过定期向服务器发送一些请求来保持会话处于活动状态。