重置密码设置cookie失败

来源:6-3 编辑和重置密码-

thomas_fan

2017-09-11

重置密码成功了,但是setLoginStatus不能设置cookie就直接跳到登录页面了

public function actionResetPwd()
{
    if( \Yii::$app->request->isGet ){
        $user_info = $this->current_user;
        return $this->render('reset_pwd',['user_info' => $user_info]);
    }

    $old_password = trim( $this->post('old_password') );
    $new_password = trim( $this->post('new_password') );

    if( mb_strlen( $old_password,'utf-8' ) < 1 ){
        return $this->renderJson([],'请输入原密码!!',-1);
    }
    if( mb_strlen( $new_password,'utf-8' ) < 6 ){
        return $this->renderJson([],'新密码长度不能小于6位!!',-1);
    }
    if( $old_password == $new_password ){
        return $this->renderJson([],'新密码不能等于旧密码!!',-1);
    }
    $user_info = $this->current_user;

    if( !$user_info->verifyPassword($old_password) ){
        return $this->renderJson([],"原密码输入错误!!",-1);
    }
    $user_info->setPassword($new_password);
    $user_info->updated_time = date( "Y-m-d H:i:s",time() );
    $user_info->update( 0 );
    $this->setLoginStatus( $user_info );
    return $this->renderJson([],'修改密码成功!!',200);

}


写回答

3回答

编程浪子

2017-09-13

$cookies->add(new \yii\web\Cookie([
    'name' => $name,
    'value' => $value,
    'expire' => $expire? ( time() + $expire ):$expire,
    'domain' => "这个地方增加一个参数试试,例如你的域名 是  就填写 .book.com "
]));


0
0

thomas_fan

提问者

2017-09-12

public function setCookie( $name,$value,$expire = 0 )
{
    $cookies =  \Yii::$app->response->cookies;
    $cookies->add(new \yii\web\Cookie([
        'name'  => $name,
        'value' => $value,
        'expire' => $expire,
    ]));

}


0
0

编程浪子

2017-09-12

让我看看设置cookie的方法

0
1
thomas_fan
public function setCookie( $name,$value,$expire = 0 ) { $cookies = \Yii::$app->response->cookies; $cookies->add(new \yii\web\Cookie([ 'name' => $name, 'value' => $value, 'expire' => $expire, ])); }
2017-09-12
共1条回复

微信服务号+Yii2.0构建商城系统全栈应用

传统PC后端与火热微信结合,打造一个摩登的商业电商系统

757 学习 · 744 问题

查看课程