Я новичок в Yii, поэтому я решил написать простой сценарий входа в систему, просто чтобы проверить, что я изучил до сих пор.
По некоторым причинам мой код не работает должным образом.
В идеале, если имя пользователя и пароль существуют, его следует перенаправить в представление индекса, а также, если оно не существует, следует перенаправить в представление входа в систему.
Если имя пользователя и пароль существуют, он перенаправляет их должным образом, а также показывает правильное значение сеанса, но если имя пользователя и пароль не существует, я также получаю тот же результат.
Есть идеи, что я делаю не так?
Вот мой код контроллера:
<?php
namespace app\controllers;
use app\models\Users;
use Yii;
class UsersController extends \yii\web\Controller
{
public function actionIndex()
{
$model = new users();
return $this->render('login', [
'model' => $model,
]);
}
public function actionLogin()
{
$model = new Users();
if ($model->load(Yii::$app->request->post())) {
// form inputs are valid, do something here
$request = Yii::$app->request;
$form_values = $request->post('Users');
//var_dump($form_values['email']); exit;
//echo $form_values['email'];
if($model !==NULL){
$model = $model->doLogin($form_values['email'],$form_values['password']);
$session = Yii::$app->session;
$session->setFlash('login', 'Login succesful.');
return $this->render('index', [
'model' => $model,
]);
}
elseif($model === NULL){
$session = Yii::$app->session;
$session->setFlash('login', 'Invalid Login.');
return $this->render('login', [
'model' => $model,
]);
}
}
}
}