我需要一个PHP代码,它将在特定会话过期后运行查询,
if(!isset($_SESSION['test'])) query;
类似的东西,但会议会到期。
答案 0 :(得分:1)
您将遇到的问题:如果用户等待时间过长,会话不仅会自行过期 ,会话 会在下一页加载时过期。由于在请求(用户操作)之间浏览器和服务器之间没有通信,因此服务器将不知道是否例如用户刚关闭浏览器(或在网站保持打开状态时正在做菜)。
所以我猜您的代码没有任何问题,因为它会告诉您sessin 是否在下一个页面加载时过期(只要有下一个页面加载:))。
如果确实需要确定,查询在会话过期后运行,我猜你必须将会话保存到数据库并在每个页面加载上运行“cleanup”-script运行您的查询并摆脱过期的会话。 (例如,保存“lastUserAction”并将其与您的会话限制进行比较)
答案 1 :(得分:0)
我建议您在数据库中保存创建会话的日期,并检查会话是否过期,如:
if($db->checkExpiredSession('test') == true) {
$db->query('...');
}
只是一个想法。