• 永不沉没的泰坦尼克号工程开工仪式举行(一) 2019-08-19
  • 今年回南天为何掉线了?这其实并不奇怪 2019-08-19
  • 政能亮政府服务,当好“店小二”而非“二大爷” 2019-08-16
  • 女性之声——全国妇联 2019-08-16
  • 人傻有人爱,人聪明有人恨,人愚笨有人笑,人痴有人关心,不是每个人的命运都一样的 2019-08-11
  • 人民的力量——一份大报,与一个大党、一个大国的故事 2019-08-05
  • 中华人民共和国建筑法 2019-08-05
  • 转方式调结构显现阶段性成果(读数·发现经济运行的轨迹) 2019-08-02
  • 一语惊坛(6月8日):友谊勋章是给国际友人的最高荣誉。 2019-08-02
  • 《红海行动》出征中美电影节 2019-07-28
  • 发挥自身优势 奋力走在前列——习近平总书记在山东考察回访记 2019-07-28
  • 民生时评:上海支付宝回收垃圾并不现实(原创首发) 2019-07-28
  • 俺发现你还真是踩云的人。找不到谱。 2019-07-28
  • 12306网站用户信息外泄?铁总深夜“辟谣” 2019-07-25
  • 端午节期间 拉萨至日喀则增开列车 2019-07-24
  • 价格不是我们的优势,品质永远是我们的追求!
    当前位置:北京11选五和值走势图行业快讯 > php网站实现手机短信验证码功能流程及代码
    php网站实现手机短信验证码功能流程及代码
    来源:北京11选五和值走势图  时间:2017-08-24 18:14

    北京11选五和值走势图 www.tqjw.net   现在有越来越多的网站会员注册添加有北京11选五和值走势图手机验证功能,有效过滤了大量烂注册,如何实现网站会员注册手机验证功能呢,下面以php语言为例,为大家介绍下网站实现手机短信验证码功能的流程和代码供大家参考。

      第一、首先需要选择一家短信验证码接口服务商,获取短信接口api,另外现在很多正规公司都有完备的API接入文档和代码示例供参考。 推荐阅读:乐信短信接口API

      第二、分析实现网站短信验证码功能的基本思路,主要有以下几点:

     ?、?要找到短信服务提供商,接入短信服务;

     ?、?在网站信息提交页面请求发送信息;

     ?、?服务器向短信服务提供商通信,提交发送请求;

     ?、?短信服务提供商通过运营商将信息发送到用户的手机中。

      第三、实现网站手机短信验证码功能前端页面效果,现分享一段代码如下:

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >

      <html xmlns>

      <head>

      <title></title>

      <script src="js/jquery-1.4a2.min.js" type="text/javascript"></script>

      <script type="text/javascript">

      /*-------------------------------------------*/

      var InterValObj; //timer变量,控制时间

      var count = 60; //间隔函数,1秒执行

      var curCount;//当前剩余秒数

      var code = ""; //验证码

      var codeLength = 6;//验证码长度

      function sendMessage() {

      curCount = count;

      var dealType; //验证方式

      tel = $(’#tel’).val();

      if(tel!=’’){

      //验证手机有效性

      var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+d{8})$/;

      if(!myreg.test($(’#tel’).val()))

      {

      alert(’请输入有效的手机号码!’);

      return false;

      }

      tel = $(’#tel’).val();

      //产生验证码

      for (var i = 0; i < codeLength; i++) {

      code += parseInt(Math.random() * 9).toString();

      }

      //设置button效果,开始计时

      $("#btnSendCode").attr("disabled", "true");

      $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");

      InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次

      //向后台发送处理数据

      $.ajax({

      type: "POST", //用POST方式传输

      dataType: "text", //数据格式:JSON

      url: ’yanzhengma.php’, //目标地址(根据实际地址)

      data: "&tel=" + tel + "&code=" + code,

      error: function (XMLHttpRequest, textStatus, errorThrown) { },

      success: function (msg){ }

      });

      }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>

      <input name="tel" id=tel type="text" />

      <input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>

      </body>

      </html>

      第四、调用短信服务商提供的短信接口,具体代码如下: 

      <?php //提交短信

      $post_data = array();

      $post_data[’userid’] = 短信服务商提供ID;

      $post_data[’account’] = ’短信服务商提供用户名’;

      $post_data[’password’] = ’短信服务商提供密码’;

      // Session保存路径

      $sessSavePath = dirname(__FILE__)."/../data/sessions/";

      if(is_writeable($sessSavePath) && is_readable($sessSavePath)){

      session_save_path($sessSavePath);

      }

      session_register(’mobliecode’);

      $_SESSION[’mobilecode’] = $_POST["code"];

      $content=’短信验证码:’.$_POST["code"].’【短信验证】’;

      $post_data[’content’] = mb_convert_encoding($content,’utf-8’, ’gb2312’); //短信内容需要用urlencode编码下

      $post_data[’mobile’] = $_POST["tel"];

      $post_data[’sendtime’] = ’’; //不定时发送,值为0,定时发送,输入格式YYYYMMDDHHmmss的日期值

      $url=’//IP:8888/sms.aspx?action=send’;

      $o=’’;

      foreach ($post_data as $k=>$v)

      {

      $o.="$k=".$v.’&’;

      }

      $post_data=substr($o,0,-1);

      $ch = curl_init();

      curl_setopt($ch, CURLOPT_POST, 1);

      curl_setopt($ch, CURLOPT_HEADER, 0);

      curl_setopt($ch, CURLOPT_URL,$url);

      curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

      //curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。

      $result = curl_exec($ch);

      ?>

      第五:提交表单信息时对短信验证码验证

      //手机验证码开始

      session_start();

      $svalitel = $_SESSION[’mobilecode’];

      $vdcodetel = empty($vdcodetel) ? ’’ : strtolower(trim($vdcodetel));

      if(strtolower($vdcodetel)!=$svalitel || $svalitel==’’)

      {

      ResetVdValue();

      //echo "Pageviews=".$vdcodetel;

      ShowMsg("手机验证码错误!", ’-1’);

      exit();

      }

      第六、到这一步就网站的短信验证码功能已经实现,但还要经过测试才能发现是否有错误,发现错误再进行调试。

     

  • 永不沉没的泰坦尼克号工程开工仪式举行(一) 2019-08-19
  • 今年回南天为何掉线了?这其实并不奇怪 2019-08-19
  • 政能亮政府服务,当好“店小二”而非“二大爷” 2019-08-16
  • 女性之声——全国妇联 2019-08-16
  • 人傻有人爱,人聪明有人恨,人愚笨有人笑,人痴有人关心,不是每个人的命运都一样的 2019-08-11
  • 人民的力量——一份大报,与一个大党、一个大国的故事 2019-08-05
  • 中华人民共和国建筑法 2019-08-05
  • 转方式调结构显现阶段性成果(读数·发现经济运行的轨迹) 2019-08-02
  • 一语惊坛(6月8日):友谊勋章是给国际友人的最高荣誉。 2019-08-02
  • 《红海行动》出征中美电影节 2019-07-28
  • 发挥自身优势 奋力走在前列——习近平总书记在山东考察回访记 2019-07-28
  • 民生时评:上海支付宝回收垃圾并不现实(原创首发) 2019-07-28
  • 俺发现你还真是踩云的人。找不到谱。 2019-07-28
  • 12306网站用户信息外泄?铁总深夜“辟谣” 2019-07-25
  • 端午节期间 拉萨至日喀则增开列车 2019-07-24
  • 青海快三综合走势图 竞彩半全场中奖图片 淘宝广西快3遗漏走走势一定牛网 广西11选5app 865棋牌 天津快乐10分技巧 彩票选号技巧 NBA現场直播今天 大乐透走势基本走势图 开奖结果 天天彩选4中奖规则 北京十一选五实时开奖 浙江快乐12选5预测软件 20192019cba总决赛mvp 超级大乐透走势图56qi