A-A+

thinkphp之找回密码功能

2015年03月23日 thinkphp开发 暂无评论 阅读 328 次

 thinkphp之找回密码功能,忘记密码功能模块是php比较重要的功能:
在用户忘记密码时,填写注册邮箱,然后产生新的密码字符将原有忘记密码以更新数据库方式覆盖并同时发邮件通知用户已经重置密码
UserAction代码部分:

public function forgetPwd(){

if (isset($_POST['submit'])){
if($_SESSION['verify'] != md5($_POST['verify'])) {
$this->error('验证码错误!');
}

$UserModel = D('User');
$data = $UserModel->findPwd();      //调用UserModel的findPwd()函数
$this->ajaxReturn($data['data'],$data['info'],$data['status']);   //接受UserModel返回的$data再进一步的以ajax方式给前台返回处理结果
}else{
$this->display();
}

}

UserModel代码部分:

function findPwd(){
$r = R('Web/Yzm/checkVerify');
if ($r['status']==0){
return $r;
}

$email = trim($_POST['email']);
$where = "email = '$email' ";
$r = $this->where($where)->find();
if ($r){

import('ORG.Util.String');
$newPwd = String::randString();    //借用thinkphp自带函数,产生随机字符效果类似于$newPwd = substr(md5(mt_rand()),mt_rand(0,25),6)

$content = "你找回的密码是:<strong style='color:red;'>{$newPwd}</strong>";

$this->where($where)->save(array('password'=>md5($newPwd)));

R('Web/Mail/send',array(array($email),'账户找回密码邮件', $content));
$data =  array('info'=>'请到邮箱查看新密码','status'=>1,'data'=>'');     //产生$data

}else{
$data =  array('info'=>'邮箱不正确','status'=>0,'data'=>'');

}

return  $data;     //将$data返回给UserAction
}

标签:

给我留言

Copyright © web前端技术开发个人博客 保留所有权利  京ICP备14060653号 Theme  Ality

用户登录