2011-01-30 23 views
1

アイドルまたはアクティブに関係なく、5分後に(セッションを使用して)ユーザを切断する方法を教えてください。 データベースとしてphpおよびmysqlでコーディングしています。5分後にユーザを切断する

+1

5分後? –

+0

5分後にセッションを破棄してから、ホームページにリダイレクト – bsanneh

+0

メイトより多くの情報を提供するか、cookieを試してみるか、php.iniでセッションの有効期限を設定してください。 –

答えて

3

ユーザーがログオンすると、ページが読み込まれるたびにセッション変数を登録して、ログオンしてから5分が経過したかどうかを確認できます。 例:

<?php 
session_start(); 
if($_SESSION["loggedin"] && ($_SESSION["timer"]<(time()-(5*60)))) { 
logout(); 

} 


function login() { 
//do login stuff 
$_SESSION["timer"]=time(); 
} 

function logout() { 
//do logout stuff 
} 

?> 
2

使用session.gc-maxlifetime

ini_set('session.gc-maxlifetime', 60*5); 

一度ライン上では、PHPインタプリタによって読み込まれ、セッションは5分後に期限切れになります。

+0

'session.gc_probability'と' session.gc_divisor'。また、keatchsコメント – levu

1

$_SESSIONアレイに最後のアクションのタイムスタンプを保存し、と現在の時刻を比較することができます。

ガベージコレクタがすべてのページ要求で実行されないため、ガベージコレクタの有効期間を低い値に設定するだけでは機能しません。

+0

に関する私のコメントも参照してください。この方法では、PHP設定に依存しません。 – keatch

+1

なので設定の設定はいいですが、5分のような小さなタイムスパンでは、gcが非常に頻繁に実行されなければならないため、ほとんど役に立たない... – levu

関連する問題