1
このスクリプトを使用して正常にサインインできません。私のモデルではLoginform.phpyii2 hashingのパスワード登録とサインイン
public function validatePassword($attribute, $params)
{
if (!$this->hasErrors()) {
$user = $this->getUser();
if (!$user || $user->validatePassword($this->password)) {
$this->addError($attribute, 'Incorrect name/password.');
}
}
}
は私が持っているこの
User.phpここ
public function beforeSave($insert) {
if (parent::beforeSave($insert)) {
if ($this->isNewRecord) {
$this->password = $this->setPassword($this->password);
}
return true;
}
return false;
}
public function validatePassword($password) {
return Yii::$app->getSecurity()->validatePassword($password, $this->password);
}
public function setPassword($password) {
return $this->password = Yii::$app->security->generatePasswordHash($password);
}
は私の登録スクリプトで
Signupform.php
public function signup() {
if($this->validate()) {
$user = new User();
$user->username = $this->username;
$user->email = $this->email;
$user->setPassword($this->password);
$user->save();
return $user;
}
return null;
}
は、誰もがこれで私を助けてくださいことはできますか?ありがとう。
サインアップ機能する$ user->のsetPassword(の$ this - >パスワード)からこれを削除しています。 あなたはすでにユーザーモデルdeforeSave関数 –
で動作していません。私のテーブルには何も挿入されていません。カスタマイズスクリプトを提供できますか?ありがとう – kaizer
いくつかの妥当性検査エラーかもしれませんprint_r($ user - >。getError());死ぬ(); あなたはこれをチェックしてください。 –