Я хочу спросить о моей проблеме. Перед этим я хочу сказать вам, что я делаю, у меня есть 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’, созданной с этого контроллера, я не могу войти в систему, но если я пытаюсь войти в систему обычным способом, я могу это сделать. Пожалуйста, помогите мне, спасибо
Я предполагаю, что в вашем site/login
посмотреть у вас есть ActiveForm
без каких-либо конкретных действий. Если это так, то действие формы — это тот же URL, который был вызван, в вашем случае yourcontroller/index
( actionIndex
Вы отправили). Проблема в том, что у вас нет логики в этом действии, чтобы обрабатывать процесс входа в систему, который, я думаю, находится в вашем SiteController
, actionLogin
, У вас есть два варианта здесь:
site/login
заложить рендеринг вид в вашем actionIndex
site/login
вид, укажите действие для формы как Url::to('/site/login')
И да, пожалуйста, как предложено, не используйте заглавные буквы, как вы это сделали в заголовке.
Других решений пока нет …