我正在用 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/