2017-06-26 7 views
0

私はPHPでプログラムを持っており、セッションの有効期限が切れるまでの時間を画面に表示したい。彼らがページをリロードするときに更新したい。例えばPHPに残っているセッション時間を印刷するには?

シンプルなこのようなメッセージ:

あなたのセッションは60分

に失効する...ページのリロード...

あなたのセッションは59分で期限切れになります

また、タイムオーバーを設定するにはut値?

+1

? $ _SESSIONにはタイムアウトがありますが、このカウンタはページリフレッシュ/ AJAXコール でリセットされるか、自分でログインしているのですか? –

+0

セッションの開始時間をクッキーに保存して今から引きます – Andreas

答えて

0

クッキーをUNIX時間で設定し、そのクッキーと比較することができます。ここhttp://php.net/manual/en/function.setcookie.php
ますsetcookieあなたが前にそれを使用したことがない場合は、慎重に初めに必ずお読みくださいについて

setcookie("start", time(), time()+3600); // saves a cookie with current UNIX time for one hour 

読みます。

などの時間を比較:あなたが参照のうえされているセッションの種類

If (isset($_COOKIE["start"]) and $_COOKIE["start"]+3600<time()){ 
    echo (time()-$_COOKIE["start"])/60 . " minutes left"; 
}Else{ 
    Echo "times up"; 
} 
+0

それは正しいようですが、私がテストすると、ページをリロードすると、常に「タイムアップ」が表示されます。 – Magearlik

+0

実際には動作しません。私はちょうど同じページにクッキーを設定しました。乾杯。 – Magearlik

+0

同じページにCookieを設定した場合は、最初にif(isset(cookie))を実行して、ユーザーに新しい60分を与えないようにしてください – Andreas

関連する問題