2017-08-25 6 views
1

ユーザからのアクティビティがない場合に、どのようにセッションをタイムアウトできますか?ここ は名前session.phpを持っている私のコードです:ユーザからのアクティビティがない場合のタイムアウトセッション

<?php 
    require_once('conn.php'); 
    session_start(); 

    $user_check = $_SESSION['login_user']; 

    $ses_sql = mysqli_query($conn, "select * from employee where Username = '$user_check'"); 

    $row = mysqli_fetch_array($ses_sql, MYSQLI_ASSOC); 

    $login_session = $row['EmployeeName']; 

    if (!isset($_SESSION['login_user'])) { 
     header("location:index.php"); 
    } 
?> 
+0

http://php.net/manual/en/sessionhandler.gc.php –

+0

PHPはセッションのタイムアウトを監視できます。 'php.ini'を編集します。 –

答えて

1

はあなたが後にログインするためにリダイレクトしたいプロフィールページにこのコードを含めるまず、このような時間を計算します。

<script> 
var sec = 0; 
var min = 0; 
var hrs = 0; 

function time() { 

    if (sec<=59) { 
     sec++; 
     if (sec<10) { 
     sec="0"+sec; 
     } 
     if (sec>59) { 
      sec=0; 
      min++; 

      if (min>59) { 
       min=0; 
       hrs++; 

       if (hrs>24) { 
        hrs=0; 
       }; 
      }; 
     }; 

    }; 


    document.getElementById("time").innerHTML=hrs+":"+min+":"+sec; 

} 
function tick() { 
    if (min<10) { 
     min="0"+min; 
     } 

    if (hrs<10) { 
     hrs="0"+hrs; 
    } 
} 
window.onload=function() { 
    tick(); 
    setInterval(time,1000); 
} 

</script> 

これはあなたに時間を与えます。その後、これを行う。 30秒後にそれをタイムアウトしたいと仮定しましょう。 login.phpは、ログアウト後にリダイレクトされる一般的なページです。

<script> 
if(sec == 30){ 
</script> 
    <?php 
    $_SESSION["login_user"] = NULL; 
    redirect_to("login.php"); 
    ?> 
<script> 
} 
</script> 

私はこれがうまくいくと思います。

関連する問題