javascript - PHP自动注销无需刷新页面

标签 javascript php jquery html ajax

我正在用 PHP、JavaScript 和 HTML 编写一个项目。我已经成功完成用户空闲1分钟时自动注销。但问题是我必须刷新页面才能执行它并注销。

有人可以帮助我,以便立即 1 分钟结束并且用户处于空闲状态,代码将被执行,并且它将带我进入登录页面而无需我刷新它?

这是我的代码:

// check to see if $_SESSION['timeout'] is set
if(isset($_SESSION['timeout']) ) {
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive)
    {  


 echo"<script type='text/javascript'> 
window.alert('Your Session got Expired');
</script>";
header("Location: logout.php");
}
}

$_SESSION['timeout'] = time();
//Continuation of other codes

最佳答案

我认为最好的实现方式是使用 JS 和 PHP 结合使用

检查.php

if(isset($_SESSION['timeout']) ) {
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive) echo "0";

else echo "1";
}

$_SESSION['timeout'] = time();

.js

$(document).ready(function(){
  setTimeout(function(){
        $.get("check.php", function(data){
        if(data==0) window.location.href="logout.php";
        });
    },1*60*1000);
});

或者如果您希望在<之后检查它,请将其包装在setInterval(function(){},1*60*1000)而不是setTimeout()中强>每一分钟。

$(document).ready(function(){
setInterval(function(){
        $.get("check.php", function(data){
        if(data==0) window.location.href="logout.php";
        });
    },1*60*1000);
});

关于javascript - PHP自动注销无需刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449124/

相关文章:

javascript - Ajax 加载 url 中存在空格的问题

javascript - 如何在 AJAX 调用中构造 POST 数据值?

php - 同时创建文件夹和上传文件

php - 将数据加载到表中而不插入数据

javascript - 滚动时尝试使用 jquery 使内容淡入

关闭html标签后javascript读取html评论

php - 向对象 PHP 中的数组添加值

javascript - Tumblr 返回顶部按钮不起作用

jquery - 在 jquery 选项卡中加载流程图解决方法并不能完全解决问题

javascript - 为什么 Joi 使用 "contains a duplicate value"验证对象数组?