首页 > 开源系统应用 > Thinkphp > OneThink后台添加用户重置密码功能
网站建设、切图、企业建站、微信开发 联系QQ:404658186 tel:18716186715
2015
06-22

OneThink后台添加用户重置密码功能

文章目录 [收起]

OneThink后台用户中心默认是没有重置密码功能的,它需要前台用户前台会员中心通过邮件重置密码,但有时开发一个系统的时候是在内网使用,不能通过邮件方式重置密码,这时就需要添加一个在后台重置密码的功能。

第一步,添加重置密码入口。

修改Application/Admin/View/User/index.html,找到下面对应代码,添加重复密码链接入口。

<td><eq name="vo.status" value="1">
 <a href="{:U('User/changeStatus?method=forbidUser&id='.$vo['uid'])}" class="ajax-get">禁用</a>
 <else/>
 <a href="{:U('User/changeStatus?method=resumeUser&id='.$vo['uid'])}" class="ajax-get">启用</a>
 </eq>
<!-- 重置密码 start -->
 <a href="{:U('resetPassword?uid='.$vo['uid'])}">重置密码</a>
<!-- 重置密码 end -->
 <a href="{:U('AuthManager/group?uid='.$vo['uid'])}" class="confirm ajax-get">删除</a>

 </td>

添加重置密码功能

找到文件 Application/Admin/Controller/UserController.class.php,添加重置密码方法。

// +----------------------------------------------------------------------
// | Author: 码农小兵 <email@devdo.net> <http://www.devdo.net>
// +----------------------------------------------------------------------
public function resetPassword($uid=0,$password='',$repassword=''){
        if(IS_POST){

            empty($password) && $this->error('请输入新密码');
            empty($repassword) && $this->error('请输入确认密码');

            /* 检测密码 */
            if($password != $repassword){
                $this->error('密码和重复密码不一致!');
            } 
            $data['password'] = $password;

            $Api    =   new UserApi();
            $res    =   $Api->updateUserPassword($uid, $data);
            if($res['status']){
                $this->success('修改密码成功!');
            }else{
                $this->error($res['info']);
            }
        }else{ 
            $this->meta_title = '重置用户密码';
            $this->display();
        }
        
    }

添加重置密码模板

在Application/Admin/View/User 新建一个文件resetPassword.html,文件内容如下。

<extend name="Public/base"/>
<block name="body">
 <div class="main-title">
 <h2>重置密码</h2>
 </div>
 <form action="{:U()}" method="post" class="form-horizontal"> 
 <input type="hidden" name="uid" value="{:I('uid')}"/>
 <div class="form-item">
 <label class="item-label">密码<span class="check-tips">(用户密码不能少于6位)</span></label>
 <div class="controls">
 <input type="password" class="text input-large" name="password" value="">
 </div>
 </div>
 <div class="form-item">
 <label class="item-label">确认密码</label>
 <div class="controls">
 <input type="password" class="text input-large" name="repassword" value="">
 </div>
 </div>
 <div class="form-item">
 <button class="btn submit-btn ajax-post" id="submit" type="submit" target-form="form-horizontal">确 定</button>
 <button class="btn btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
 </div>
 </form>
</block>

<block name="script">
 <script type="text/javascript">
 //导航高亮
 highlight_subnav('{:U('User/index')}');
 </script>
</block>

重置密码功能设计完毕,效果演示图,觉得有用就拿去,不用感谢码农小兵

QQ截图20150622094222

QQ截图20150622094320

最后编辑:
作者:码农一号
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。

*