2011-06-20 13 views
0

ユーザーが1/2時間アクティブでない場合、ログインページにリダイレクトしたいページがあります。私はjQueryを初めて使用しています。 基本的に、ユーザーはログインしてホームページにリダイレクトされます。私は10秒ごとにcheck_time.phpページに投稿するホームページでjQueryを実行しています。セッションが1時間半以上アクティブでない場合、セッションは破棄され、ログインページにリダイレクトされます。 私は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"; 
    } 
?> 

上のコードである私は、私が新しい質問を述べたように、私は私の最新のコードを投稿したい先週、この同じ質問をしました。私は本当にあなたの助けに感謝します!!!!!

+0

おそらくあなたの以前の質問からの回答の一部を受け入れる必要があります! – Patricia

+1

あなたはどちらの場合でも同じ文字列をエコーし​​ていることを認識していますか? –

+0

"私は先週同じ質問をしましたが、最新のコードを投稿して新しい質問を述べたいと思っていました。あなたは以前のもののための更新を持っているとき**新しい質問を開始しない** **をしてください。前のものを編集すると、それは先頭のページにバンプされます。 –

答えて

0

試してみてください。

if (jQuery.trim(data) == "LOGOUT") 
{ 
    ... 
} 
+0

ありがとうございました必要だった!!!あなたは素晴らしいです! – PeggyMe

関連する問題