JOB*_*JOB 0 html javascript php ajax jquery
我正在用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
Run Code Online (Sandbox Code Playgroud)
我想最好的实现方法是使用JS和PHP的组合
check.php
if(isset($_SESSION['timeout']) ) {
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive) echo "0";
else echo "1";
}
$_SESSION['timeout'] = time();
Run Code Online (Sandbox Code Playgroud)
.js文件
$(document).ready(function(){
setTimeout(function(){
$.get("check.php", function(data){
if(data==0) window.location.href="logout.php";
});
},1*60*1000);
});
Run Code Online (Sandbox Code Playgroud)
或者只是将其包裹起来,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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13733 次 |
| 最近记录: |