• 提供南水北调七成中线水 陕西一江清水送北京 2019-10-10
  • 你的声音,说一句话就能被克隆 2019-10-08
  • 她主动借腹给我生儿子,中途又移情别恋 有故事的人 2019-10-07
  • 候选企业:安徽古井集团 2019-10-06
  • 智能手机冲击大 数码相机不服输 2019-10-06
  • 工信部:我国4G用户达10.6亿户 宽带提速效果显著 2019-10-01
  • 一条塔里木河 串起南疆各色景致与无限风光 2019-10-01
  • 消防车进商场——“小小消防员”的消防安全乐体验 2019-09-27
  • 《游侠索罗》:票房失意之作的连锁反应 2019-09-27
  • 万物互联开启智慧新图景 下一代互联网未来已来 2019-09-27
  • 朔州市人大常委会任免名单 2019-09-27
  • 置业指南:盘点沙坪坝在售楼盘 2019-09-26
  • 加快南昌航空货运发展推进会举行 2019-09-26
  • 李思思元元月亮姐姐 盘点央视主持人与子女温馨合影 2019-09-25
  • 欧阳绍修:孜孜以求为祖国研制“争气机” 2019-09-20
  • 价格不是我们的优势,品质永远是我们的追求!
    当前位置:北京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-10-10
  • 你的声音,说一句话就能被克隆 2019-10-08
  • 她主动借腹给我生儿子,中途又移情别恋 有故事的人 2019-10-07
  • 候选企业:安徽古井集团 2019-10-06
  • 智能手机冲击大 数码相机不服输 2019-10-06
  • 工信部:我国4G用户达10.6亿户 宽带提速效果显著 2019-10-01
  • 一条塔里木河 串起南疆各色景致与无限风光 2019-10-01
  • 消防车进商场——“小小消防员”的消防安全乐体验 2019-09-27
  • 《游侠索罗》:票房失意之作的连锁反应 2019-09-27
  • 万物互联开启智慧新图景 下一代互联网未来已来 2019-09-27
  • 朔州市人大常委会任免名单 2019-09-27
  • 置业指南:盘点沙坪坝在售楼盘 2019-09-26
  • 加快南昌航空货运发展推进会举行 2019-09-26
  • 李思思元元月亮姐姐 盘点央视主持人与子女温馨合影 2019-09-25
  • 欧阳绍修:孜孜以求为祖国研制“争气机” 2019-09-20
  • 七星彩100期 中国体育彩票官方网 西甲吻球 3d分析预测彩吧论坛 3d走势图带连线专业版 浙江12选五爱彩乐 黑龙江省36选7玩法介绍 云南11选五遗漏走势图 精华使用手法 2019世界飞镖锦标赛冠军 cq9钻石水果王 大豪门 湖南幸运赛车预测 江西时时彩独胆 今晚拳击比赛直播