thinkphp小功能带你实现注册的门槛,防恶意注册

发表时间:2019-08-15    浏览热度:376
这是文章的封面图片

今天我给大家带来一个小功能注册码,用法很多,可防止恶意注册,也可用于推广网站注册码注册奖励等等不多说开始了!

在数据库里新建两个表  表名为 blog_code存放验证码  一个表名blog_user存放注册用户信息

b.png

id段 int 主键   code字段存放注册码    status字段 设置注册码状态 0未使用 1已使用  user字段存放使用当前注册码的用户名 

Index/index邀请码生成视图页面 如下(效果图我就不截图了):

    <form  method="post" action="" >
        <h4 style="font-size: 30px;">批量生成</h4><br>
        <div >

                <span >邀请码前缀(填写英文就好 如:MS):</span>
                <input type="text" name="name"  required >
                
        </div>
        <div >
                <span  >邀请码生成数量:</span>
                <input type="text" id="title" name="number" class="layui-input" required>
        </div>
        <br><br>
        <input type="submit" class="layui-btn"  value="一键生成邀请码">

    </form>

在Index控制器的index方法中写入:    

    public function index(){
    	if(IS_POST){
	        $number = I('number');
	        $name = I('name');
	        if(is_numeric($number) == false || $number <1){
	            $this->error("数量不是数字或者小于1");
	        }else{
	            $m = D('code');
	            $count =intval($number);
	            for ($i=0; $i <$count; $i++) {
	                $code['code'] = $name.substr(time(),-6).rand(0,9999);
	                $code['status'] = 0;
	                $check = $m->where("code = '{$code['code']}'")->find();
	                if($check ==null || $check ==false){
	                    $result = $m->add($code);
	                }else{
	                    continue;
	                }
	            }
	            if($result==false){
	                $this->error('批量生成失败');
	            }else{
	                $this->success('批量生成成功');
	            }
	        }
    	}
        $this->display();
    }

然后在Index控制器中新建reg方法、Index的视图文件创建reg.html文件

<form action="regs" method="post">
	用户名:<input type="text" name="username" required placeholder="请输入用户名"><br/>
	登录密码:<input type="password" name="password" required placeholder="请输入密码"><br/>
	注册码:<input type="text" name="code" required placeholder="请输入注册码"><br/>
	<input type="submit" name="注册">
</form>

regs方法的处理页面    

    public function reg(){
    	$this->display();
    }
    public function regs(){
    	$data['username']=I('username');
    	$data['password']=I('password');
    	$code=I('code');
    	//验证注册码是否存在,状态是否未使用
    	if(D('code')->where(array('code'=>$code,'status'=>'0'))->find()){
    		//如果能查询到记录 注册码就正常,
    		//向user表新增用户数据;
    		$user=D('user')->add($data);
    		//判断插入数据是否成功 成功就修改当前验证码的状态,
    		$codes['status']=1;
    		$codes['user']=$data['username'];
    		if(D('code')->where(array('code'=>$codes))->save($code)){
    			$this->success('注册成功');
    		}else{
    			$this->error('注册失败');
    		}
    	}else{
    		$this->error('验证码不存在或已使用');
    	}
    }

好了 本章就此结束,若有不懂,欢迎在下方评论,或者发QQ邮箱解答疑点不喜勿喷吧,

  


登录后可回复内容!

发布时间:2019-08-15 19:24:09

修改时间:2019-08-17 18:45:28

查看次数:376

评论次数:0