注册功能——web网站注册功能

基于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>

 

转载于:https://my.oschina.net/u/3530967/blog/1546147

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值