如何在YII框架中获得cookie值?

时间:2014-01-18 04:04:54

标签: yii

在登录模块中,我在控制器中为其创建cookie。我可以验证cookie存在。我遵循YII框架但是当我得到cookie时它有错误。这是错误:

尝试获取非对象的属性

$username = Yii::app()->request->cookies['loginSuccess']->value;

这是我创建cookie:

if($model->validate() && $model->login()){          
    $cookie = new CHttpCookie('loginSuccess',$model->username);
    $cookie->expire = 604800;                           
    Yii::app()->request->cookies['loginSuccess'] = $cookie;
    $this->redirect('/ktbeauty/index.php/categories/index');
}       

我重定向之前的var_dump cookie就像这样显示:

    object(CHttpCookie)#37 (9) 
    { 
            ["name"]=> string(12) 
            "loginSuccess" ["value"]=> string(7) 
            "sacpv04" ["domain"]=> string(0) "" ["expire"]=> int(604800) 
            ["path"]=>string(1) "/" ["secure"]=> bool(false) ["httpOnly"]=> bool(false) 
            ["_e":"CComponent":private]=> NULL ["_m":"CComponent":private]=> NULL 
    } 

非常感谢

1 个答案:

答案 0 :(得分:1)

试试这个

$cookie->expire = time() + 604800;

此表达式将cookie设置为在当前时间604800之后到期 这对你有用:)