www.gusucode.com > Aycms自媒体建站系统PHP版 v1.0.1源码程序 > Aycms_v1.0.1/vendor/thinkcmf/cmf-app/src/user/controller/RegisterController.php
<?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +---------------------------------------------------------------------- // | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: Powerless < wzxaini9@gmail.com> // +---------------------------------------------------------------------- namespace app\user\controller; use cmf\controller\HomeBaseController; use think\facade\Validate; use app\user\model\UserModel; class RegisterController extends HomeBaseController { /** * 前台用户注册 */ public function index() { $redirect = $this->request->post("redirect"); if (empty($redirect)) { $redirect = $this->request->server('HTTP_REFERER'); } else { $redirect = base64_decode($redirect); } session('login_http_referer', $redirect); if (cmf_is_user_login()) { return redirect($this->request->root() . '/'); } else { return $this->fetch(":register"); } } /** * 前台用户注册提交 */ public function doRegister() { if ($this->request->isPost()) { $rules = [ 'captcha' => 'require', 'code' => 'require', 'password' => 'require|min:6|max:32', ]; $isOpenRegistration = cmf_is_open_registration(); if ($isOpenRegistration) { unset($rules['code']); } $validate = new \think\Validate($rules); $validate->message([ 'code.require' => '验证码不能为空', 'password.require' => '密码不能为空', 'password.max' => '密码不能超过32个字符', 'password.min' => '密码不能小于6个字符', 'captcha.require' => '验证码不能为空', ]); $data = $this->request->post(); if (!$validate->check($data)) { $this->error($validate->getError()); } $captchaId = empty($data['_captcha_id']) ? '' : $data['_captcha_id']; if (!cmf_captcha_check($data['captcha'], $captchaId)) { $this->error('验证码错误'); } if (!$isOpenRegistration) { $errMsg = cmf_check_verification_code($data['username'], $data['code']); if (!empty($errMsg)) { $this->error($errMsg); } } $register = new UserModel(); $user['user_pass'] = $data['password']; if (Validate::is($data['username'], 'email')) { $user['user_email'] = $data['username']; $log = $register->register($user, 3); } else if (cmf_check_mobile($data['username'])) { $user['mobile'] = $data['username']; $log = $register->register($user, 2); } else { $log = 2; } $sessionLoginHttpReferer = session('login_http_referer'); $redirect = empty($sessionLoginHttpReferer) ? cmf_get_root() . '/' : $sessionLoginHttpReferer; switch ($log) { case 0: $this->success('注册成功', $redirect); break; case 1: $this->error("您的账户已注册过"); break; case 2: $this->error("您输入的账号格式错误"); break; default : $this->error('未受理的请求'); } } else { $this->error("请求错误"); } } }