修改密码 MVC
控制器site
public function actionPassword(){
$model = new PasswordForm();
/*判断请求属性
if ($request->isAjax) { // 判断是否为AJAX 请求 };if ($request->isGet) { // 判断是否为GET 请求 };if ($request->isPost) { // 判断是否为POST 请求};if ($request->isPut) { // 判断是否为PUT 请求 }
*/
$request = Yii::$app->request; if ($request->isPost && $model->load(Yii::$app->request->post()) && $model->changePassword()){ Yii::$app->user->logout();
return $this->goHome();
}else{
return $this->render('password',['model'=>$model]);
}
}
passworForm表单模型
public function changePassword(){
/*rules验证,不习惯用else的话,把else删了自己创建rules*/
// if (!$this->validate()) {
// return null;
// }
$id=Yii::$app->user->id;
$user = User::findIdentity($id);
$password = $user->password_hash;
if (Yii::$app->getSecurity()->validatePassword($this->password,$password)){
if ($this->pass1 == $this->pass2){
$newpass = Yii::$app->getSecurity()->generatePasswordHash($this->pass1);
$user->password=$newpass;
$user->a($id,$newpass);
if ($user->save()){
return true;
}else{
return false;
}
}else{
Yii::$app->session->setFlash('error','两次密码不一样');
return false;
}
}else{
Yii::$app->session->setFlash('error','旧密码错误');
return false;
}
/*findIdentity($id)根据ID获取用户信息 getId()获取用户id*/
}
User模型
public function a($id,$model){
$user = User::findIdentity($id);
$user->password_hash=$model;
$user->save();
}
视图password.php
<?php /* @var $this yii\web\View */
/* @var $form yii\bootstrap\ActiveForm */
/* @var $model PasswordForm */ use backend\models\PasswordForm;
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
//
$this->title = '修改密码';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="left">
<div class="row">
<div class="col-md-1">
</div>
<div class="col-md-6">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">修改密码</h3>
</div>
<?php $form = ActiveForm::begin(['id' => 'login-form', 'enableClientValidation' => false]); ?>
<div class="box-body"> <div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">当前用户</label>
<div class="col-sm-9">
<div type="text" readonly="readonly" disabled="disabled" class="form-control" id="user_role" >
<?= Yii::$app->user->identity->username; ?>
</div>
</div><br><br>
</div> <div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">旧密码</label>
<div class="col-sm-9">
<?= $form
->field($model, 'password')
->label(false)
->textInput(['placeholder' => $model->getAttributeLabel('旧密码')]) ?>
</div>
</div> <div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">新密码</label>
<div class="col-sm-9">
<?= $form
->field($model, 'pass1')
->label(false)
->passwordInput(['placeholder' => $model->getAttributeLabel('新密码')]) ?>
</div>
</div> <div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">确认密码</label>
<div class="col-sm-9">
<?= $form
->field($model, 'pass2')
->label(false)
->passwordInput(['placeholder' => $model->getAttributeLabel('确认密码')]) ?>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<!-- <label id="msg_info" class="control-label text-green hide"><i class="fa fa-check"></i>修改密码成功</label>-->
<?= Html::submitButton('修改密码', ['class' => 'btn btn-primary']) ?>
</div>
<!-- /.box-footer -->
<?php ActiveForm::end(); ?>
</div>
</div> <div class="col-md-5">
</div>
</div>
</div>
修改密码 MVC的更多相关文章
- MVC5 网站开发之六 管理员 2、添加、删除、重置密码、修改密码、列表浏览
目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现 MVC5 网站开发之四 业务逻辑层的架构和基本功能 MVC5 网 ...
- win7下安装mysql后修改密码
mysql的安装教程网上很多,此处不过多介绍,个人觉得下面这篇教程是比较好的,一步到位.MySQL 5.7.9 ZIP 免安装版本配置过程_百度经验 http://jingyan.baidu.com ...
- linux创建新用户以及修改密码
1. 使用root账户创建新用户 useradd webuser 2. 修改新增的用户的密码 passwd webuser 这时候会提示你输入新的密码: 注意:不要用su webuser进入该账户修改 ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(3)修改资料、修改密码
在上一篇博客中实现了用户的注销和登录,其实代码里落了点东西,就是用户登录要更新最后一次登录时间和登录IP,这次补上.今天做修改资料和修改密码,TryUpdateModel是新用到的东西. 目录: AS ...
- 学用MVC4做网站六后台管理:6.1.3管理员修改密码
6.1.3修改密码 需要两个action.一个是点击修改密码的链接要显示修改密码的分部视图(对话框形式):另一个是提交的处理action. 1.打开[AdministratorController]添 ...
- MySQL5.7 修改密码
MySQL5.7 修改密码 mysql> update mysql.user set authentication_string = password('新密码') where user='用户 ...
- mysql登录不了及修改密码
安装mariadb,默认是无密码的,但一般是指要设置密码的.在设置密码时出现各种问题,可能还是不太明白其原理. 一下我尝试了两种方法,但都失败了.下面这两个是我尝试的方法: 一.网上最多的方法是 1. ...
- 安装在CloudStack时CentOS6.4中安装MySQL通过mysql_secure_installation方式修改密码
在安装CloudStack时,通过mysql_secure_installation方式修改密码 01 [root@test ~]# /usr/bin/mysql_secure_installatio ...
- mysq安装以及修改密码
安装版MySQL是不能一键安装的,下载下来是压缩包,解压后只要进行相关配置就可以正常使用: 文章主要是记录一下,以防自己忘记: 1.首先在mysql官网--http://dev.mysql.com/d ...
- Atitit 修改密码的功能流程设计 attilax总结
Atitit 修改密码的功能流程设计 attilax总结 1.1. 注意点1 1.2. 设计修改用户密码功能时把用户ID保存在哪里?1 1.3. Ui设计1 1.4. 功能设计源码1 1.5. Agt ...
随机推荐
- 关于uniapp 打自定义基座部分手机不能自动安装的问题
部分手机指的是-------没错就辣鸡 vivo手机 解决办法----进入手机文件管理-----根目录-----会有一个你打包的app.apk文件,手动安装一下就好了 搜索 复制
- 1144. 递减元素使数组呈锯齿状 (Medium)
问题描述 1144. 递减元素使数组呈锯齿状 (Medium) 给你一个整数数组 nums,每次 操作 会从中选择一个元素并 将该元素的值减少 1. 如果符合下列情况之一,则数组 A 就是 锯齿数组: ...
- keil 常用调试方法
1.内存调试方法, 参考链接: https://blog.51cto.com/u_4029519/5423341 2.汇编调试方法 常用到bootlader和应用程序的调试 1.生成bin文件.汇编文 ...
- Linux环境下将.net6项目部署到docker
1.创建一个ASP.NET Core Web应用(MVC) 注意点:建议不用勾选单选框"启用Docker(E)",因为勾选后,涉及到Docker-Desktop的安装,可能会引起本 ...
- Safari高级使用
Safari是苹果公司为旗下设备开发的一款强大的浏览器不论是iPhone还是iPad亦或是MAC OS上都能使用.但是针对不同的系统,Safari也有一定的改动.那么在MacOS中如何使用Safari ...
- Mybatis实现树状结构查询
1.实体类 @Data public class CourseChapterVO implements Serializable { private static final long serialV ...
- docker (mysql 8.+ )主从同步
1.环境centos7.5 docker 2.下载docker 版本的mysql 启动容器 docker run --name mysql_master -p 3306:3306 -e MYSQL_ ...
- docker容器监控系统
Cadvisor+InfluxDB+Grafana Cadvisor Cadvisor是检测单节点资源信息的工具,提供了一个http接口的查询界面,可以和其他工具整合使用,Cadvisor既可以采集宿 ...
- URL Scheme获取
支付宝链接或小程序获取URL Scheme 小程序(以行程卡小程序为例): URL解码https://c.runoob.com/front-end/695/ JS网址解码https://jsrun.n ...
- 打开part文件夹
1 #include <uf.h> 2 #include <uf_ui.h> 3 #include <uf_part.h> 4 #include <atlst ...