ホームページ >バックエンド開発 >PHPチュートリアル >このページでは何も操作を行わず、システムは 5 分後に自動的に終了します。
システムにログインしているユーザーが 5 分以内にアクションがない場合、システムから自動的にログアウトするようにしたいです。これを解決する方法を教えてください。
ページにアクションがないかどうかを確認するにはどうすればよいですか?
checklogin.php ページを作成します
タイムアウトするかどうかを判断する必要があるページにこのページを含めます
session_start()
header("content-type: text /html; charset =utf-8");
//タイムアウト時間、単位: 秒、ここでは 10 分に設定します。
$timeout=600;
$now=time();
if(($now-$_SESSION) ['session_time' ])>$timeout)
{
// タイムアウトしました。
unset($_SESSION['clientID']);
else
{
// まだタイムアウトしていません。 session_time']=time ();
}
if(empty($_SESSION["clientID"]))
{
echo "";
exit;
}
システムにログインするユーザーに、 5 分以内にアクションがなければ、システムから自動的にログアウトします。これを解決する方法を教えてください。
ログインに成功したユーザーの場合は、セッションにユーザー名を入力し、セッションにデータがあるかどうかを確認できます。そうでない場合は、システムからの自動終了を実行します
checklogin.php ページを作成します
に含めます。タイムアウトしたかどうかを判断する必要があるページ
session_start();
//タイムアウト、単位: 秒、ここでは 10 分に設定されています。
$timeout=600;
$now=time();
{
//タイムアウト。 unset($_SESSION['clientID']);
}
else
{
//まだタイムアウトしていません。
$_SESSION['session_time']=time() }
if(empty($_SESSION["clientID "]))
{
echo "";
exit;
}
---------------------------- ---------
このメソッドは、SESSION で設定された時間が経過したかどうかを検出するために手動でのみ呼び出すことができます。
私が望むのは: システムにログインすると、ユーザー ID が SESSION に維持され、5 分以内に操作を行わないと、システムはもう操作する必要がないと判断し、自動的に操作を行います。切断します。
10分後にこれを行います。私が操作しているかどうかに関係なく、SESSION は強制的に削除され、システムが追い出されます
システムにログインしているユーザーは、5 分以内に操作がなければ自動的にシステムからログアウトしてほしいです。 。これを解決する方法を教えてください。
ページにアクションがないかどうかを確認するにはどうすればよいですか? では、ユーザーがログインしているかどうかはどうやって判断するのでしょうか?
----------------------------------
ログインすると、COOKIE または SESSION にユーザー ID が保存されますログイン後1440秒以内に操作がないと切断されるphpmyadminのようなものを実現したいと考えています。重要なのは、現在ページにアクションがないと判断する方法です。
接続自体はすでに切断されています
COOKIE または SESSION にログイン時間変数を追加します
再訪問したときに判断してください
接続自体はすでに切断されています
COOKIE または SESSION にログイン時間変数を追加します
彼が再び訪問したときに判断してください
---------
はい、そうです
はい、そうです
---
モデレーター、QQ 1587232556 に追加してください。まだ理解できません。説明してもらいたいです。
セッションを例にします
ログイン時
$_SESSION['userid'] = $userid;
$_SESSION['time'] = time();
if(time() - $ _SESSION[ 'time'] > 1440) {
//タイムアウト処理
}else{
$_SESSION['time'] = time() }