作为新手,我试图在100秒后实现会话超时,如果用户没有点击“任何其他链接”,即停留在该页面上没有任何活动..我使用以下PHP脚本但我猜测每个脚本只执行一次“if”条件检查,因此即使检查在某个时间后被违反也不会发生自动重定向。所以有一种方法(仅使用php脚本)以便重复进行此次检查页面??
if (isset($_SESSION['LAST_ACTIVITY']) and (time() - $_SESSION['LAST_ACTIVITY'] > 100))
{
session_unset();
session_destroy();
header('Location: seesiontimeout.php');
}
$_SESSION['LAST_ACTIVITY']
变量已在脚本开始时设置...
答案 0 :(得分:2)
你问......
。所以有一种方式(仅使用php脚本)以便这次检查 在页面上反复出现??
(强调我的)。
没有。 PHP根据请求在服务器上运行一次以呈现动态HTML。它不能只是闲置,并以某种方式告诉浏览器,“嘿,你即将超时!”
您必须设置一个客户端javascript函数,重复询问服务器。
我已经超时了吗?不。
我已经超时了吗?不。
我已经超时了吗?是的!重定向到超时页面。
答案 1 :(得分:0)
is there a way(using only php script) so that this time check occurs repeatedly on the page
不使用“仅PHP”,但您可以在JavaScript中使用AJAX来继续调用服务器上的PHP。
PHP完全在服务器上运行,客户端的浏览器不执行。因此,您必须告诉客户端继续检查服务器以确定这样的事情。