在php中登录会话
问题描述:
我有一个代码,它在10秒钟不活动后为我提供session_timeout
。在php中登录会话
<?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
。
答
设置用户首次访问时间为会话。然后检查差异,请尝试下面的代码。
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;
}
}
}
}