初めてのポスターです。昨日、この問題を解決しようとしていた私の仕事の時間が多すぎると、最終的にアカウントを作ることにしました。php autologout inactive users
私はこの「sessionCheck.php」スクリプトを持っています。これは、彼が非アクティブであればユーザをログアウトするはずです。以下のコードを見てください。今のところ変数$ inactive = 15;ユーザーが15秒間アクティブでない場合は、ログアウトしてログアウトページにリダイレクトする必要があります。しかし、いくつかの奇妙な理由で、私は$ 15秒、1秒または60秒を非アクティブに設定しても、常に120秒かかるので、常に120秒かかります。しかし、変数を130に設定すると、ログアウトやリダイレクトは行われず、ページがリフレッシュされるだけです。
本当に論理的ではないように私は私の人生のために理由を理解できません。
<?
session_start();
// set timeout period in seconds
$inactive = 15;
// check to see if $_SESSION['timeout'] is set
if(isset($_SESSION['timeout'])) {
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive)
{ session_destroy(); header("Location: login.php?loggut");
$db->Execute("UPDATE tblTimeLog SET LogoutTime = NOW() WHERE sid ='".session_id()."'".$row['konsulentid'].'');
}
}
$_SESSION['timeout'] = time(); ?>
私の最初の考えは、それが優先されますか、自動的にすでにこのスクリプトに干渉する人をユーザーがログアウトし、いくつかの他のスクリプトでなければならないということでしたが、私はこのスクリプトなしでテストサイトを実行する場合、それがすべてでログアウトしませんどちらか。
また、最初のポスターは、ガイドラインを破ってもごめんなさい。すべての助けに感謝します!
を私は、これはあなたの問題を解決するとは思わないが、それはそれの一部であってもよいです。 'Location:login.php?loggut'は正しいですか?ログアウトする必要がありますか? –
ああ、それは正しいです、これに取り組んでいた以前のプログラマーは、ノルウェーと英語の名前の奇妙な組み合わせを使用しました。したがって、 "loggut"! –
こんにちは@BalderKjøs、私はフランキーによって提案されたいくつかのマイナーチェンジでコードを実行し、それは完璧に動作します。名前を変えて名前を変更して確認するのが可能なので、あなたの変数名を他の名前に変更するだけです。 – vijay