关于用户上次登陆时间的问题

需求是需要显示用户上次登陆的时间,我采取的方式是每次登陆成功后,就更改最后一次登陆时间为当前时间,然后我在测试的时候,效果也是达到了,但是突然意识到,效果是对的其实也是不对的,因为登陆后我就更改了最后一次的时间,按理说我显示的时间应该是本次的时间,但是效果却是达到了,于是我查看了自己写的代码,原因在于,我在页面取的上次登陆时间是从session里取的,在登陆后存到session里的,那么之后的最后一次登陆时间是不会对session里面的内容发生改变的,因此我的时间是对的,然后通常一个用户应该存在会话级别的作用域里,那么这就意味着,有些信息我们是不能从session里取的,比如昵称,邮箱这种在这个会话中可能会发生改变的值,比如修改个人信息,第一次显示是对的,改了后,如果用户再次修改,还是从session里取的话,那么数据是有问题的,因此我们在session里取值的时候要小心,id这种不会发生变化可以取,而修改信息后,要么后面的数据从数据库查询,要么重新把新的用户存在session里覆盖之前的,最好使用后面这种方法, 这个问题看似就是个作用域的问题,但是有的时候没有实际遇到还真是一下想不到,我的这个时间的问题其实也是歪打正着

猜你喜欢

转载自blog.csdn.net/gml0000/article/details/80947971