注销活动用户
我已经在我的网站下面的代码:注销活动用户
session_set_cookie_params(7200, '.website.com', '', false, true);
如果我浏览我的网站,我有时会在两个小时后登出我的网站。例如,如果我提交表单,这非常令人沮丧。
我的问题是:我怎么能解决这个问题?仅当他处于INACTIVE状态2小时后才可以注销用户吗?什么应该是session_set_cookie_params
的第一个超时值?
尝试这种情况:
$_SESSION['loginTime'] = time();
if($_SESSION['loginTime'] < time()+120*60){ logoutfunction(); }
的120
部分是指定的120分钟(2小时)。你可能真的很聪明,并询问用户在他们注销之前他们想等多久:D
如果用户应该注销,您还需要将logoutfunction();
替换为想要发生的任何事情(可能使用session_destroy(); header("Location: http://yourwebsite.com/login.php");
)
请让我知道如果你需要这方面的:)
您需要保存到会议网站上的最后游客动的实际时间任何更多的帮助。
登录功能:
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
值会话刷新到实际时间,所以它永不过期...)
是的,好吧,谢谢@aslancz。 Jordy在功能方面可以吗? – Mattios550 2013-03-16 19:01:41
+1我的回答好吗?有点厚脸皮,但嘿;) – Mattios550 2013-03-16 19:03:16
明天我试试这个:)谢谢! – Jordy 2013-03-16 19:10:25
谢谢!我应该给session_set_cookie_params()的第一个参数什么值? – Jordy 2013-03-16 18:42:39
我很高兴它帮助:)不幸的是,我不熟悉'session_set_cookie_params();'。经过研究,这样的事情? 'session_set_cookie_params(7400,'.website.com','',false,true);'我选择了7400,因为那是在到期后200秒。尝试不同的时间,看看有什么作品:)你可以尝试'session_set_cookie_params(0,'.website.com','',false,true);'因为那是浏览器关闭的时候。我会尝试。 – Mattios550 2013-03-16 18:50:01
P.S. ) – Mattios550 2013-03-16 18:50:46