表單的資料是保存在User模型里,能實作登陸與退出功能.
這是動作方法
public function actionLogin()
{
$model=new User(['scenario'=>'login']);
if($model->load(Yii::$app->request->post())&&$model->login())
{
return $this->render('entry-confirm',['model'=>$model]);
}
else
{
return $this->render('login',['model'=>$model]);
}
}
然后在User實作login方法
public function login()
{
if(!$this->validate())
{
return false;
}
$user=Yii::$app->db->createCommand("select * from user where username=:username",[':username'=>$this->username])->queryOne();
if($user!==null)
{
if($this->checkPassword($user['password']))
{
return Yii::$app->user->login(User::findOne(['username'=>$this->username]),$this->rememberMe ? 3600*24*7:0);
}
return false;
}
return false;
}
這里還有個問題,如果這里用$user=User::fingOne(['username'=>$this->username])獲取物件
然后$user->password為null,但是獲取email其它的屬性能獲取到。
然后用Yii::$app->user->identity->username獲取資料,顯示為空,var_dump(ii::$app->user->identity):
app\models\User Object
(
[username] =>
[password] =>
[rememberMe] =>
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 6
[username] => raohong
[password] => $2y$13$4LMusps.IbhCfMBikgP6nuA.kmDmOyCqoKlbiOEv08lVhVZfiTbcy
[authkey] => -l_yYwqmHQPrrkmXSNR097TVV3s4r_VV
[accecctoken] =>
[email] => [email protected]
)
[_oldAttributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 6
[username] => raohong
[password] => $2y$13$4LMusps.IbhCfMBikgP6nuA.kmDmOyCqoKlbiOEv08lVhVZfiTbcy
[authkey] => -l_yYwqmHQPrrkmXSNR097TVV3s4r_VV
[accecctoken] =>
[email] => [email protected]
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
)
[_errors:yii\base\Model:private] =>
[_validators:yii\base\Model:private] =>
[_scenario:yii\base\Model:private] => default
[_events:yii\base\Component:private] => Array
(
)
[_behaviors:yii\base\Component:private] => Array
(
)
)
有點奇怪,求解
uj5u.com熱心網友回復:
請問為什么會出現這個問題, 我需要怎么解決...uj5u.com熱心網友回復:
問題解決了。User模型不再獲取表單資訊,用了另外一個模型獲取資料。
怎么解決的呀?看不明白。
uj5u.com熱心網友回復:
這個問題怎么結局啊?我也碰到了這個問題,能說詳細點么uj5u.com熱心網友回復:
這個問題怎么結局啊?我也碰到了這個問題,能說詳細點么uj5u.com熱心網友回復:
大哥 你解決了?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/269911.html
標籤:其他技術討論專區
上一篇:Qt動態布局,多個視窗使用同一個widget如何實作。
下一篇:做系統的問題
