账号:
密码:
登陆
注册
忘记密码?
第三方登录
新浪微博登录
腾讯QQ登录
微信登录
支付宝登录
AikehouAdmin5 文档
基础说明
开始使用
更新日志
内容管理
会员管理
会员中心
会员登录
会员注册
忘记密码
商城模块
商品管理
我的订单
优惠券
收货地址
定时任务
系统配置
微信开发
微信开放平台
扩展功能
友情链接
图片管理
在线报名
留言建议
广告管理
投票管理
短信管理
支付管理
预览
代码
会员管理 - 忘记密码
会员忘记密码,用于站点用户找回密码,暂时通过邮件找回密码,
功能暂时未对外开放
。
测试Demo
1
填写账户名
2
验证身份
3
设置新密码
完成
账号:
验证码:
提交
重置
返回
/** * [forget 忘记密码] */ public function forget(){ $this->islogin(); if($this->request->isPost()){ //验证ip是否被限制 $this->iplimit(); //获取数据 $data = $this->request->post(); //输入用户名 if($data['type'] == 'username'){ //验证码 if(isset($data['code']) && !empty($data['code'])){ if(!check_verify($data['code'])){ $this->error(lang('l_verify_error')); } } //用户 $user = \Db::name('user'); $where[] = ['username', '=', $data['username']]; $where[] = ['type', '=', 1]; $where[] = ['status', '=', 1]; //验证是否存在 if(!$userinfo = $user->where($where)->find()){ $this->error(lang('l_name_not_exists')); } //输入用户名完成 $this->success(lang('l_check_success'), url('forget', array('type'=>'check','user'=>encode($data['username'])))); //验证身份 } elseif($data['type'] == 'check') { //判断找回密码类型 if(md5($data['code']) == session('forgetpasswodcode')){ $this->success(lang('l_check_success'), url('forget',array('type'=>'password','uid'=>$data['uid']))); } else { $this->error(lang('l_forget_code_error')); } //重置密码 } elseif($data['type'] == 'password') { //验证是否已经获取验证码 if(!session('?forgetpasswodcode')){ $this->error(lang('l_access_error')); } //验证密码是否一致 if(sha1(md5($data['password'])) != sha1(md5($data['checkpassword']))){ $this->error(lang('l_checkpass_error')); } //修改密码 $user = \Db::name('user'); $where[] = ['id', '=', $data['uid']]; $where[] = ['type', '=', 1]; $where[] = ['status', '=', 1]; //验证是否存在用户 if(!$userinfo = $user->where($where)->find()){ $this->error(lang('l_access_error')); } //密码加密 $params['id'] = $data['uid']; $params['salt'] = randcode(); $params['password'] = createPassword($data['password'], $params['salt']); //修改密码 $res = $user->update($params); if($res){ $this->success(lang('l_reset_pass_success'), url('forget', array('type'=>'finish'))); } else { $this->error(lang('l_reset_pass_error')); } } } else { //设置默认的类型 $type = $this->request->param('type', 'username'); $arr = array('username', 'check', 'password', 'finish'); if(!in_array($type, $arr)){ $type = 'username'; } //验证身份 if($type == 'check'){ //验证是否存在用户 $username = $this->request->param('user', ''); if(!empty($username)){ $username = decode($username); } $user = \Db::name('user'); $where[] = ['username', '=', $username]; $where[] = ['type', '=', 1]; $where[] = ['status', '=', 1]; if(!$userinfo = $user->where($where)->find()){ $this->error(lang('l_name_not_exists')); } $this->assign('user', $username); $this->assign('userinfo', $userinfo); } //重置密码 if($type == 'password'){ //验证是否已经获取验证码 if(!session('?forgetpasswodcode')){ $this->error(lang('l_access_error')); } //验证是否存在用户 $uid = $this->request->param('uid',''); $user = \Db::name('user'); $where[] = ['id', '=', $uid]; $where[] = ['type', '=', 1]; $where[] = ['status', '=', 1]; if(!$userinfo = $user->where($where)->find()){ $this->error(lang('l_access_error')); } $this->assign('userinfo', $userinfo); } //完成 if($type == 'finish'){ //验证是否已经获取验证码 if(session('?forgetpasswodcode')){ session('forgetpasswodcode',null); } } $this->assign('type', $type); //渲染模板 return $this->fetch(); } }