我有一个代码,在10次不活动后为我提供session_timeout
。
<?php
function isLoginSessionExpired() {
$login_session_duration = 10;
$current_time = time();
if(isset($_SESSION['loggedin_time']) and isset($_SESSION["user_id"])){
if(((time() - $_SESSION['loggedin_time']) > $login_session_duration)){
return true;
}
}
}
?>
帮助我编辑代码,以便即使在刷新页面之后session_timeout
也能正常工作。
表示如果用户在5s
之后刷新页面,那么它应该计算剩余时间,不应该以0s
开头。
答案 0 :(得分:0)
将用户的首次访问时间设置为会话。然后检查差异,请尝试以下代码。
function isLoginSessionExpired() {
if(!isset($_SESSION['first_visit']))
{
$_SESSION['first_visit']=time();
}else{
$login_session_duration = 10;
$current_time = time();
if(isset($_SESSION['loggedin_time']) and isset($_SESSION["user_id"])){
if(((time() - $_SESSION['first_visit']) > $login_session_duration)){
return true;
}
}
}
}