Yii2 返回 $this->goBack() 不工作

Dan*_*ani 4 redirect return yii2

我面临返回上一页的问题,如果有人帮助我,将非常感谢。这是我的控制器登录操作

    public function actionLogin() {
        $this->layout = 'login';
        if (!\Yii::$app->user->isGuest) {
            return $this->goHome();
        }
        $model = new LoginForm();
        if ($model->load(Yii::$app->request->post()) && $model->login()) {
            return $this->goBack();
        } else {
            return $this->render('login', [
                        'model' => $model,
            ]);
        }
}
Run Code Online (Sandbox Code Playgroud)

当我输入用户名和密码时,一切正常,但用户停留在同一页面(登录页面)。我还尝试呈现一些其他视图或将其重定向到某个操作,但它不起作用。当我在 goBack() 函数之前回显某些内容时,它的工作正常,这意味着用户正在登录。

sca*_*dge 5

你可以用

return $this->redirect(Yii::$app->request->referrer);


return $this->goBack((
        !empty(Yii::$app->request->referrer) ? Yii::$app->request->referrer : null
));
Run Code Online (Sandbox Code Playgroud)

或者

if(Yii::$app->request->referrer){
    return $this->redirect(Yii::$app->request->referrer);
}else{
  return $this->goHome();
}
Run Code Online (Sandbox Code Playgroud)