/** * 忘记密码发送重置邮件(支持 ajax). * status: 0 用户名, 1 邮箱, 2 验证码, 8 发送失败, 9 发送成功 * * @access public * @return void * @author Liuping <*****@*****.**> */ public function forgotPasswdSendEmail() { $verifyCode = I('post.code', ''); $username = I('post.username', ''); $email = I('post.email', ''); $result = []; $vcode = new Verify(); if (empty($username)) { $result['status'] = 0; $result['msg'] = L('CONTROLLER_MSG25'); } elseif (empty($email)) { $result['status'] = 1; $result['msg'] = L('CONTROLLER_MSG1'); } elseif (empty($verifyCode)) { $result['status'] = 2; $result['msg'] = L('CONTROLLER_MSG1'); } elseif (IS_AJAX && !$vcode->check($verifyCode)) { $result['status'] = 2; $result['msg'] = L('CONTROLLER_MSG27'); } else { // 验证用户与邮箱是否匹配 $model = new UserModel(); if (!$model->checkUserAndEmail($username, $email)) { $result['status'] = 1; $result['msg'] = L('CONTROLLER_MSG36'); } else { // 用户名和邮箱匹配发送邮件 if (!IS_AJAX && IS_POST) { // 如果能 post 提交代表已经 ajax 请求该方法已验证验证码了 if ($this->sendResetPwdEmail($username, $email)) { $result['status'] = 9; $result['msg'] = L('CONTROLLER_MSG23'); $result['url'] = U('Home/Index/index'); } else { $result['status'] = 8; $result['msg'] = L('CONTROLLER_MSG24'); } } else { $result['status'] = 9; $result['msg'] = L('CONTROLLER_MSG48'); } } } if (IS_AJAX) { $this->ajaxReturn($result, 'json'); } elseif ($result['status'] == 9) { //$this->success($result['msg'], $result['url']); // 发送成功, 显示邮箱验证提示页面 $this->assign('jumpUrl', $result['url']); $this->display('successSendEmail'); } else { $this->error($result['msg']); } }