不知何故,我的登录页面remember me
复选框不记得任何用户的输入信息。当我加载页面时,在我输入Remember me
和email
之后,password
复选框会自动标记,下次它不记得任何信息。有人能告诉我为什么吗?谢谢你的帮助。
模特功能:
class LoginForm extends Model
{
public $email;
public $password;
public $rememberMe = true;
/**
* Logs in a user using the provided username and password.
* @return boolean whether the user is logged in successfully
*/
public function login()
{
if ($this->validate()) {
return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0);
} else {
return false;
}
}
View
档案:
<?= $form->field($model, 'rememberMe', [
'template' => "<div class=\"col-lg-offset-1 col-lg-3\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
])->checkbox() ?>
Controller actionLogin()
:
public function actionLogin()
{
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,
]);
}
}
答案 0 :(得分:0)
用户登录页面中记住我复选框的目的不是存储用户名/密码字段并自动填充它们,这是由浏览器完成的。其目的是即使浏览器窗口关闭也要保持会话处于活动状态,这样当您再次打开它并转到该站点时,您已经登录。