【发布时间】:2014-10-10 13:07:44
【问题描述】:
我有一个在线系统,需要用户在闲置 60 分钟后退出。
现在当前的代码计算出少了 30 分钟。
$cut = time() - 30*60;
现在我原以为以下内容会删除一个小时,因此超时为 60 分钟。
$cut = time() - 60*60;
这是发生的完整代码。在 60 分钟不活动后,我需要将该人注销。
// Time out Users 60 minutes
$last = $_SESSION['time'];
$cut = time() - 60*60;
if ($last < $cut)
{
session_destroy();
$get = $_GET;
$location = 'login.php?timeout=true';
foreach($get as $key => $item)
{
$location .= '&'.$key."=".$item;
}
header('Location: '.$location);
}
else
$_SESSION['time'] = time();
现在我不认为该代码不起作用。
【问题讨论】:
-
也许这可以帮助您如何设置会话的生命周期! stackoverflow.com/q/6360093/3933332
-
您需要将该人注销(即:会话被破坏)。你需要
?timeout=true吗?如果没有,请将最大会话生命周期设置为 3600 - php.net/manual/en/… -
我认为您需要了解会话处理程序类。 php.net/manual/en/sessionhandler.destroy.php