Rumah >pembangunan bahagian belakang >tutorial php >页面无动作,5分钟后自动退出系统

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

WBOY
WBOYasal
2016-06-23 14:08:221279semak imbas

我想让登录系统的用户,如果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 "<script>alert('您当前未登录或者登录已超时,请重新登录');window.parent.location.href='../';</script>";
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 "<script>alert('您当前未登录或者登录已超时,请重新登录');window.parent.location.href='../';</script>";
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();
}

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:关于PHP导入excel文件的问题Artikel seterusnya:PHP二维数组排序问题