ホームページ >バックエンド開発 >PHPチュートリアル >最終ログイン時刻を表示する Cookie の実装に関する問題

最終ログイン時刻を表示する Cookie の実装に関する問題

WBOY
WBOYオリジナル
2016-06-23 13:50:191526ブラウズ

あるアカウントでログインした後は、最終ログイン時刻が表示されるのですが、別のアカウントでログインすると、
前のアカウントのログイン時刻が表示されてしまうのですが、解決方法が分かりません。


ディスカッション(解決策)への返信

最終ログイン時刻を表示するということですか?

データベースを使用しましょう。もちろん、コンピューターでは、ユーザーがログインした後、ユーザーの ID を使用して Cookie の値を設定できます。 、返された ID に基づいて対応する Cookie を取得します。 Cookie

マシンが変更された場合、Cookie は異なるため、データベース テーブルに時刻を保存することで解決できます。

Cookie 名にユーザー ID を追加すると、この問題を解決できます。


クッキーを書き込む
$cookie_name = $uid + 'lastlogintime'; $cookie_expire = time()+31536000;

Cookie を読み取ります

$cookie_name = $uid + 'lastlogintime';
$lastlogintime = $_COOKIE[$cookie_name];
理解できませんでした。ユーザー ID を使用してください
データ テーブルには最終ログイン時刻が含まれています lastlogin 、およびこのログイン時刻 thislogin
ユーザーのログイン操作が成功したら、thislogin を lastlogin にコピーし、現在の時刻 time() を thislogin に書き込みます

ユーザーが短期間に再度ログインするのではないかと心配な場合は、最後のログインを消去してから、コピーするときに、たとえば 1 時間以上の時差判定を追加する方が論理的です

Cookie を使用するかデータベースを使用するかにかかわらず、それをユーザーに関連付ける必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。