如果用户处于非活动状态半小时,我有一个页面需要重定向到登录页面。我是jQuery的新手,我花了一些时间来实现这一目标。 所以基本上用户登录它们会被重定向到主页。我在主页上运行jQuery,每10秒发布一次check_time.php页面。如果它们已处于非活动状态超过1/2小时,则会话被销毁并被重定向到登录页面。 除了检查check_time.php页面返回的“data”的值之外,我已经完成了所有工作。
这是主页上的代码。
ini_set('session.gc_maxlifetime',1800);
ini_set('session.gc_probability',1);
ini_set('session.gc_divisor',1);
session_start();
if($_SESSION['admin_login'] != $password){
header('Location: index.php');
exit();
}
if(isset($_SESSION['last_activity']) && (time()-$_SESSION['last_activity'] >1800)){
// last request was more than 30 minates ago
session_destroy(); // destroy session data in storage
session_unset(); // unset $_SESSION variable for the runtime
header('Location: index.php');
exit();
}
$_SESSION['last_activity'] = time(); // update last activity time stamp
?>
<script src="jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function timedCount(){
$.ajax({
type: 'POST',
url: "check_time.php",
success: function(data){
if (data == "LOGOUT") {
window.location = 'index.php';
}
}
});
setTimeout("timedCount()",10000);
};
</script>
这是check_time.php上的代码
<?php
session_start();
if (isset($_SESSION['last_activity'])){
if(time() - $_SESSION['last_activity'] > 1800){
session_unset();
session_destroy();
echo "LOGOUT";
}
}else{
echo "LOGOUT";
}
?>
上周我问了同样的问题,我想发布最新的代码,所以我提出了一个新问题。我非常感谢你的帮助!!!!!
答案 0 :(得分:0)
尝试:
if (jQuery.trim(data) == "LOGOUT")
{
...
}