Heim  >  Artikel  >  Backend-Entwicklung  >  cookie实现显示上次登录时间的问题

cookie实现显示上次登录时间的问题

WBOY
WBOYOriginal
2016-06-23 13:50:191457Durchsuche

一个账号登录后可以显示上次登录时间,但是在换另一个账号登录后,
显示的登录时间是上一个账号的时间,不知道可以用什么方法解决?


回复讨论(解决方案)

你的意思是显示上次登陆时间?

还是用数据库吧,要是换一台电脑你就获取不到了
当然在一台电脑上,你可以用用户的id来设置cookie的key值,用户登录后,根据返回的id去获取对应的cookie

换了机器,cookie是不一样的,没办法做到同步,通过数据库表存时间,就可以解决。

cookie name带上用户id可解决此问题。

写入cookies
$cookie_name =  $uid + 'lastlogintime';
$cookie_value = time();
$cookie_expire = time()+31536000;
setcookie($cookie_name, $cookie_value, $cookie_expire);

读取cookies
$cookie_name =  $uid + 'lastlogintime';
$lastlogintime = $_COOKIE[$cookie_name];

是我没有想明白,用上用户id

数据表中,包含上次登陆时间lastlogin,和本次登陆时间thislogin
用户登陆操作成功后,将thislogin复制到lastlogin,然后将当前时间time()写入thislogin
如果害怕短时间内用户重复登陆抹去更符合逻辑的上次登陆,那么复制的时候增加一个时间差判断,比如大于1小时

无论是用Cookie还是用数据库,你都是得与用户关联才行。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn