当前位置:Gxlcms > PHP教程 > 页面无动作,5分钟后自动退出系统

页面无动作,5分钟后自动退出系统

时间:2021-07-01 10:21:17 帮助过:5人阅读

我想让登录系统的用户,如果5分钟内没有任何动作,就自动退出系统。请问大家这个怎么解决?
怎么判断页面没有动作 ?


回复讨论(解决方案)

做个checklogin.php页面
在需要判断是否超时的页面里inclde这个页面

session_start();
header("content-type:text/html; charset=utf-8");
//超时时间,单位:秒,这里设为10分钟.
$timeout=600;
$now=time();
if(($now-$_SESSION['session_time'])>$timeout)
{
//超时了.
unset($_SESSION['clientID']);
}
else
{
//还没超时.
$_SESSION['session_time']=time();
}
if(empty($_SESSION["clientID"]))
{
echo "";
exit;
}

我想让登录系统的用户,如果5分钟内没有任何动作,就自动退出系统。请问大家这个怎么解决?
怎么判断页面没有动作 ? 那么你怎么判断用户登录了?

登录成功的用户,把用户名放到session里,然后就可以看session里面有没有数据,如果没有就执行自动退出系统

做个checklogin.php页面
在需要判断是否超时的页面里inclde这个页面

session_start();
header("content-type:text/html; charset=utf-8");
//超时时间,单位:秒,这里设为10分钟.
$timeout=600;
$now=time();
if(($now-$_SESSION['session_time'])>$timeout)
{
//超时了.
unset($_SESSION['clientID']);
}
else
{
//还没超时.
$_SESSION['session_time']=time();
}
if(empty($_SESSION["clientID"]))
{
echo "";
exit;
}

---------------------------------------
你这个方法只能手动调用,检测SESSION中设置的时间是否过期。
我想要的是:假如我登陆了系统,会在SESSION中保持一个用户身份ID,当我5分钟内没有执行任何操作,系统会认为我不需要再操作了,就会自动断开连接。
你这样做,10分钟后。无论我是否在操作都会强制删除SESSION,都会推出系统


我想让登录系统的用户,如果5分钟内没有任何动作,就自动退出系统。请问大家这个怎么解决?
怎么判断页面没有动作 ? 那么你怎么判断用户登录了?
-------------------------------
我在登录的时候在COOKIE或者是在SESSION中存个用户ID,我想要实现像phpmyadmin那样,登录后1440秒内没有动作就断开连接。主要是如何判断页面当前没有动作?

连接本身就已经是断开的了

你在COOKIE或者是在SESSION中加一个登录时间变量
他再次访问是判断一下就是了

连接本身就已经是断开的了

你在COOKIE或者是在SESSION中加一个登录时间变量
他再次访问是判断一下就是了
---------
假如我现在停在A页面。我去打个电话,半小时后回来,我再点击A页面上的东西,通过对比SESSION中的时间,来判断是否过期 ?

是的,就这样

是的,就这样
---
版主,加我下QQ 1587232556,我还是有点不明白,想请你给我讲解下。

以 session 为例
登录时
$_SESSION['userid'] = $userid;
$_SESSION['time'] = time();

再次进入时
if(time() - $_SESSION['time'] > 1440) {
//超时处理
}else{
$_SESSION['time'] = time();
}

人气教程排行