注销非活动用户


Logout inactive user

我的网站上有以下代码:

session_set_cookie_params(7200, '.website.com', '', false, true);

如果我浏览我的网站,有时我会在两个小时后退出我的网站。例如,如果我提交一个表单,这是非常令人沮丧的。

我的问题是:我怎样才能解决这个问题?是否可以登出用户只有当他是非活动2小时?那么session_set_cookie_params的第一个超时值应该是多少呢?

试试这个:

$_SESSION['loginTime'] = time();
if($_SESSION['loginTime'] < time()+120*60){ logoutfunction(); }

120部分是您指定的120分钟(2小时)。你可以聪明一点,问问用户想要等多久才能退出:D

如果用户应该注销(可能使用session_destroy(); header("Location: http://yourwebsite.com/login.php");),您还需要将logoutfunction();替换为您想要发生的任何事情

如果你需要更多的帮助,请告诉我:)

您需要在SESSION中保存最后一个访问者在您的网站上移动的实际时间。

登录功能:

login_user();
save_actual_time_in_session();

当用户登录时,对于每个页面加载执行:

check_if_time_in_session_is_expired(); // if so, do some action, e.g. redirect to login form
save_actual_time_in_session();

(@Mattios550解决方案不会工作,因为在每个HTTP请求是loginTime值在会话刷新到实际时间,所以它永远不会过期…)