关于手机验证码的获取与验证方法

关于手机验证码的获取与验证方法1 设计一个简单的手机验证界面 2 为获取验证码设置点击事件 并将值发送到 send 方法 document on click aaa function var a name phone val if

大家好,我是讯享网,很高兴认识大家。

1.设计一个简单的手机验证界面:


讯享网

2.为获取验证码设置点击事件,并将值发送到send()方法:

 

讯享网
讯享网
$(document).on('click','#aaa',function () { var a = $("[name='phone']").val(); if (a==""){ return false;//判断输入的手机号是否为空  } $.get( "{:url('index/send')}", { 
 
   
 phone:a}, function () { } ) })

讯享网3.判断是否能够传输值

4.传输成功之后,为数据库中添加字段,前台控制器方法为:

 public function send(){  $data['phone']=input('get.phone');//获取手机号  $data['yzm'] = rand(1000,9999);//设置随机数  //http://api.k780.com/?app=sms.send&tempid=你创建的模板ID&param=替换参数&phone=手机号码&appkey=APPKEY&sign=SIGN&format=json  $data['y_time'] = time();//添加时间戳  $res = Db::table('yz')->insert($data);//将数据添加至yz数据库  if ($res){  return 1;//添加成功,则返回1  }  } }

数据库中的字段:


添加成功后,json返回:

讯享网$.get( "{:url('index/send')}", { 
 
   
 phone:a}, function (data) { if (data==1){ alert('发送成功'); } } )

5.随后进行验证,以及修改验证码的状态

 
讯享网class Index extends Controller {  public function index(){  if (Request::instance()->isGet()){  return view();  }else{  $val = input('post.yz');//接收表单中输入的验证码  //print_r($val);  if ($val==""){  $this->error('验证码不能为空');//判断验证码是否为空  }  //进行数据查询,判断接收到的验证码是否存在以及状态是否为1  $res = Db::table('yz')->where('yzm','like',$val)->where('status','in',1)->find();  if ($res){  $t = time();//获取当前时间  if ($res['y_time']-$t>60){ 
  
    
  //判断时间,如果时间大于60秒,则验证码过期  $this->error('验证码过期');  }  Db::table('yz')->where('yzm','like',$val)->where('status','in',1)->update(['status'=>2]);  //如果登录成功,表明已经使用过该验证码,则改变其状态  $this->success('登录成功');  }else{  $this->error('验证码错误');  }  }  }

让我们来看一看效果:



如果时间超时,则显示验证码已过期,这里就不一一展示了。


小讯
上一篇 2025-04-02 20:12
下一篇 2025-03-22 13:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/116891.html