2017-05-13 44 views
0

不知何故,我的登錄頁面remember me複選框不記得用戶的任何信息。當我加載頁面時,在我輸入emailpassword後,將自動標記Remember me複選框,下次它不記得任何信息。有人能告訴我爲什麼嗎?感謝您的任何幫助。記住我checbox在Yii2中不起作用

型號功能:

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() ?> 

控制器的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

好的,但代碼仍然不工作,我'我不知道什麼是錯的 – devorye

+0

代碼似乎沒問題,你必須看到通過表單獲得的rememberMe的價值。 – Ravenous