我有一個頁面,我想重定向到登錄頁面,如果用戶不活動的半小時。我是jQuery的新手,並且花了我一段時間才弄到這麼遠。 所以基本上用戶登錄他們被重定向到主頁。我在主頁上運行的jQuery每隔10秒發佈到check_time.php頁面。如果他們已經停用了半小時以上,那麼會話將被銷燬並被重定向到登錄頁面。 除了檢查從check_time.php頁面返回的「數據」的值之外,我有一切工作。讀取從jQuery返回的數據.post
這裏是主頁上的代碼。
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";
}
?>
代碼上週我問這個同樣的問題,我想後我最新的代碼,所以我說的新問題。我真的非常感謝你的幫助!!!!!
你應該接受一些從以前的問題的答案的! – Patricia
在這兩種情況下,你都會意識到你在迴應相同的字符串,對嗎? –
「上週我問了同樣的問題,我想發佈我的最新代碼,所以我提出了一個新問題。」請不要**在您更新前一個問題時開始提出新問題。編輯前一個,它會將它撞到首頁。 –