在YII2中渲染登录表单后无法登录

时间:2017-03-26 15:55:32

标签: php login yii2 rendering

我想问一下我的问题。在此之前,我想告诉你我做了什么,我有RenunganHarianController而我这样做actionIndex。我想将未登录的用户呈现为登录表单

public function actionIndex()
{
    $model = new LoginForm();
        //check user Guest or not
        if(Yii::$app->user->isGuest) {
        return $this->render('/site/login', [
            'model' => $model,
        ]);
    } 
    $searchModel = new RenunganHarianSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);        
    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
    ]);
}

这是有效的,但是当我尝试从该控制器呈现的“LoginForm”登录时,我无法登录,但如果我尝试从正常方式登录,我可以这样做。请帮帮我,谢谢

1 个答案:

答案 0 :(得分:0)

我猜你在site/login视图中有一个ActiveForm没有采取任何具体行动。如果是这样,则表单的操作与您调用的相同网址yourcontroller/index(您发布的actionIndex)相同。问题是你在该操作中没有逻辑来处理te登录过程,我想这是在SiteControlleractionLogin。你有两个选择:

  1. 将用户重定向至site/login,以便在actionIndex
  2. 中呈现视图
  3. site/login视图中,将表单的操作指定为Url::to('/site/login')
  4. 是的,请按照建议不要像在标题中那样使用大写字母。