php – Yii,实现“用户更改密码”的最佳方式
发布时间:2020-12-13 18:05:11 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Yii作为应用程序,我正在编写一个非常简单的用户管理,如注册,删除和更新用户……为了更新现有用户,我需要先检查旧密码,然后再将其更改为新插入的密码.所以这是我在表单中的字段: username:----old_password:---new_password:--- 我的用户表看起来
我正在使用Yii作为应用程序,我正在编写一个非常简单的用户管理,如注册,删除和更新用户……为了更新现有用户,我需要先检查旧密码,然后再将其更改为新插入的密码.所以这是我在表单中的字段:
username:---- old_password:--- new_password:--- 我的用户表看起来像这样: id,username,password 如何在使用new_password更新之前验证old_password?我知道通常的PHP编码,但我想知道是否有任何Yii技巧自动执行此操作… 提前致谢
它的简单创建一个具有更新传递逻辑的动作.
在这种情况下,将表单设置为新操作actionChangePass并以您希望的方式验证. 一个粗略的例子可以这样说 public function actionChangePass($id) { $user = loadModel($id) if(md5($_POST['User']['old_password']) === $user->password) { $user->setScenario('changePassword'); $user->attributes = $_POST['User']; $user->password = md5($_POST['User']['new_password']); if($user->save()) Yii::app()->user->setFlash('passChanged','Your password has been changed <strong>successfully</strong>.'); } else { Yii::app()->user->setFlash('passChangeError','Your password was not changed because it did not matched the <strong>old password</strong>.'); } } 还要确保您的用户用户模型中有$old_password.您还可以在模型规则中进行一些验证,以使新密码成为必需 可能会有一些不同的方式,但我这样做 还要创建自定义验证方案changePassword (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |