Php 授权不';我不工作
我正在努力做到: 当用户授权时,转到主页 当用户未经授权时,转到登录页面 但现在,当我把(正确的)用户电子邮件和密码,总是刷新登录页面,并没有登录到系统 用户(ActiveRecord) 登录模式:Php 授权不';我不工作,php,yii2,Php,Yii2,我正在努力做到: 当用户授权时,转到主页 当用户未经授权时,转到登录页面 但现在,当我把(正确的)用户电子邮件和密码,总是刷新登录页面,并没有登录到系统 用户(ActiveRecord) 登录模式: class Login extends Model { public $user_email; public $user_password; public function rules() { return [ [['user_
class Login extends Model
{
public $user_email;
public $user_password;
public function rules()
{
return [
[['user_email', 'user_password'],'required'],
['user_email','email'],
['user_password','validatePassword']
];
}
public function validatePassword($attribute,$params)
{
if(!$this->hasErrors())
{
$user = $this->getUser();
if(!$user || !$user->validatePassword($this->user_password))
{
$this->addError($attribute, 'Пароль или пользователь введенны не верно');
}
}
}
public function getUser()
{
return User::findOne(['user_email'=>$this->user_email]);
}
}
?>
SiteController(仅具有登录功能)
输入用户名和密码是不够的,您还应该执行登录
public function actionLogin()
{
if(!Yii::$app->user->isGuest)
{
return $this->goHome();
}
if ($model->load(Yii::$app->getRequest()->post())) {
// you should perform login
\Yii::$app->getUser()->login($model->user, $this->rememberMe ? $model->module->rememberFor : 0);
return $this->goBack();
}
else {
$login_model = new Login();
return $this->render('login',['login_model'=>$login_model]);
}
}
输入用户名和密码是不够的,您还应该执行登录
public function actionLogin()
{
if(!Yii::$app->user->isGuest)
{
return $this->goHome();
}
if ($model->load(Yii::$app->getRequest()->post())) {
// you should perform login
\Yii::$app->getUser()->login($model->user, $this->rememberMe ? $model->module->rememberFor : 0);
return $this->goBack();
}
else {
$login_model = new Login();
return $this->render('login',['login_model'=>$login_model]);
}
}
你可以对stackoverflow的所有问题都这么说,这不是一个答案。不,你是对的,这叫做评论
givemeanswer
是的,确保它不起作用,因为你没有在任何地方调用它。Noanswer,让我们再次检查您的教程。您可以在stackoverflow针对所有问题说它,它不是答案。不,您是对的,它被称为注释givemeanswer
是的,确保它不起作用,因为你没有在任何地方调用它。Noanswer,让我们再次检查您的教程。
public function actionLogin()
{
if(!Yii::$app->user->isGuest)
{
return $this->goHome();
}
if ($model->load(Yii::$app->getRequest()->post())) {
// you should perform login
\Yii::$app->getUser()->login($model->user, $this->rememberMe ? $model->module->rememberFor : 0);
return $this->goBack();
}
else {
$login_model = new Login();
return $this->render('login',['login_model'=>$login_model]);
}
}