2019独角兽企业重金招聘Python工程师标准>>>
基于TP5框架开发的
控制器:
/*** 前台用户注册模块*/public function register(){if(request()->isPost()){$data = input('post.');//validate校验$validate=validate('User');if (!$validate->scene('register')->check($data)){$this->error($validate->getError());}//验证码校验if(!captcha_check($data['verifycode'])) {$this->error('验证码不正确');}if($data['password'] != $data['repassword']) {$this->error('两次输入的密码不一样');}// 加盐加密$data['code'] = mt_rand(100, 10000);$data['password'] = md5($data['password'].$data['code']);try {$res = model('User')->add($data);}catch (\Exception $e) {$this->error($e->getMessage());}if($res) {// 本身就会抛异常$this->success('注册成功',url('user/login'));}else{$this->error('注册失败');}}return $this->fetch();}
模型里面的添加操作:
/*** 将前台用户注册信息存入数据库* @param array $data* @return false|int*/public function add($data = []) {// 如果提交的数据不是数组if(!is_array($data)) {exception('传递的数据不是数组');}$data['status'] = 1;return $this->data($data)->allowField(true)->save();}
验证码html:
<div><img src="{:captcha_src()}" alt="captcha" onclick="reloadcode(this)"//></div>
点击刷新验证码:
<script>// 刷新验证码function reloadcode(obj) {obj.src="/captcha?id="+Math.random();}
</script>