会话到期后运行查询

时间:2010-02-25 14:38:16

标签: php session

我需要一个PHP代码,它将在特定会话过期后运行查询,

if(!isset($_SESSION['test'])) query;

类似的东西,但会议会到期。

2 个答案:

答案 0 :(得分:1)

您将遇到的问题:如果用户等待时间过长,会话不仅会自行过期 ,会话 会在下一页加载时过期。由于在请求(用户操作)之间浏览器和服务器之间没有通信,因此服务器将不知道是否例如用户刚关闭浏览器(或在网站保持打开状态时正在做菜)。

所以我猜您的代码没有任何问题,因为它会告诉您sessin 是否在下一个页面加载时过期(只要有下一个页面加载:))。

如果确实需要确定,查询在会话过期后运行,我猜你必须将会话保存到数据库并在每个页面加载上运行“cleanup”-script运行您的查询并摆脱过期的会话。 (例如,保存“lastUserAction”并将其与您的会话限制进行比较)

答案 1 :(得分:0)

我建议您在数据库中保存创建会话的日期,并检查会话是否过期,如:

if($db->checkExpiredSession('test') == true) {
  $db->query('...');
}

只是一个想法。