ybt7755221 2012-06-25 09:25:48 7968次浏览 3条回复 0 0 0

登陆的时候在userIdentity下添加了Yii::app()->user->setState('_truename', $user->truename); 登陆成功后可以getState获取到数据,但是勾选了记住我后,关闭浏览器再打开,自定义的session就都变为空了,如何能像记住id和username那样记住自定义的session值呢?

  • 回复于 2012-06-25 11:11 举报

    session 机制是cookie机制为前提(当然也可用url重写,来脱离cookie),
    在cookie中保存这sessionID这个信息,服务器会根据cookie中sessionID获取session
    因为cookie默认保存在机器给浏览器开辟的内存中,所以关闭浏览器,就没了sessionID,这样服务器就会创建新的session,这是一方面,当然session也是有生命周期,这个是可以设置。 你如果想解决就自己写个cookie覆盖掉服务器自己写出去的cookie,然后设置时间长一些,cookie就保存在硬盘上了。

  • 回复于 2012-06-25 12:09 举报

    像记住用户名这样的功能,用cookie ,不能用session ,session是会话,关闭浏览器就没了

  • 回复于 2012-06-26 08:29 举报

    楼上两位正解

您需要登录后才可以回复。登录 | 立即注册