栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

ajax与php小谈(手机验证码)

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ajax与php小谈(手机验证码)

在项目中碰到一个写手机验证码的问题,所以写出来:

    这是前段页面,使用ajax发送了一个json格式的手机号码过去   

<script src="jquery-1.11.1.min.js" type="text/javascript">script>  <script type="text/javascript">  var InterValObj;       //timer变量,控制时间  var count = 120;         //间隔函数,1秒执行  var curCount;//当前剩余秒数  var code = ""; //验证码  var codeLength = 4;//验证码长度  function sendMessage() {      curCount = count;      var phone=$("#phone").val();//手机号码      if(phone != ""){          //设置button效果,开始计时          $("#btnSendCode").attr("disabled", "true");          $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");          InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次      //向后台发送处理数据     for (var i = 0; i < codeLength; i++) {        code += parseInt(Math.random() * 9).toString();                $.ajax({              type: "post", //用POST方式传输              dataType: "json", //数据格式:JSON              url: 'http://192.168.1.100/cancertool/index.php?g=home&m=Api&a=send                _phone', //目标地址              data: {"phone":phone},             //error: function (XMLHttpRequest, textStatus, errorThrown) { },              success: function(json){                                                 alert(json.code);            }          });      }else{          alert("手机号码不能为空!");      }  }  //timer处理函数  function SetRemainTime() {      if (curCount == 0) {                          window.clearInterval(InterValObj);//停止计时器          $("#btnSendCode").removeAttr("disabled");//启用按钮          $("#btnSendCode").val("重新发送验证码");          code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效          }      else {          curCount--;          $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");      }  }  script>  head><body>      <form>      <div>          <font color="red">*font>手机号码:      div>      <div>          <input type="text" id="phone" name="phone"/>      div>      <div>          <font color="red">*font>验证码:      div>      <div>          <input type="text" id="checkCode" name="checkCode" size="6"/>          <input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" />      div>  form>

在接收端,我使用的是TP框架,接收并返回一个随机码:


public function send_phone(){        import ('ORG.msgSend');            $phone=$this->_post('phone');            $msgsend=new msgSend();            $code=$msgsend->random();//生成随机数            $msg='你的验证码为:'."$code";            //$res=$msgsend->sendMsg($phone,$msg);            if(isset($msg)){                $this->data['code']=$code;                $this->ajaxReturn($this->data,'JSON');                //$this->ajaxReturn($this->data,'JSON');            }else{                $this->data['code']=0;                $this->ajaxReturn($this->data,'JSON');            }    }

msgSend类:


        class msgSend{        const MSG_USERNAME='';        const MSG_PASSWORD='';        const MSG_URL='';        const RAMDOM_CODE='1234567890';        const CODE_LENGTH = 4;                 public function __construct(){        }                 public function sendMsg($sendto,$msg){            $msg = rawurlencode($msg);            //return file_get_contents();        }                 public function random(){            return substr(str_shuffle(self::RAMDOM_CODE), 0,self::CODE_LENGTH);        }          }     ?>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/229855.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号