价格不是我们的优势,品质永远是我们的追求!
当前位置:新疆时时彩购彩行业快讯 > php网站实现手机短信验证码功能流程及代码
php网站实现手机短信验证码功能流程及代码
来源:新疆时时彩购彩  时间:2017-08-24 18:14

新疆时时彩购彩 www.gnouw.com.cn   现在有越来越多的网站会员注册添加有新疆时时彩购彩手机验证功能,有效过滤了大量烂注册,如何实现网站会员注册手机验证功能呢,下面以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();

  }

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

 

  • 美国依据“301”调查发布对中国产品征收关税清单 2019-06-24
  • 弥渡 万亩梨花如云似瀑 春城壹网 七彩云南 一网天下 2019-06-24
  • 易烊千玺押中高考作文题?不仅会押,今年还唱过! 2019-06-24
  • 2018年两会第五场“部长通道” 2019-06-23
  • 筑牢主流 摈弃“历史虚无主义” 2019-06-23
  • 李宇嘉深圳二次房改对其他城市有重大示范意义 ——凤凰网房产北京 2019-06-23
  • 澳大利亚女子离婚时发现丈夫有15套房产 2019-06-22
  • 当老对手再重逢 本田飞度vs大众POLO 2019-06-22
  • 足协调查深足欠薪陷两难 队员不开发布会就罢赛 2019-06-22
  • 回复@大雨582:不是负担就可以和稀泥了?没有与能力意愿行动及生成的结果相匹配的资源,谁还有继续创造的动力和空间呢? 2019-06-21
  • Conférence de presse du Premier ministre chinois 2019-06-21
  • “一带一路”结硕果 以色列科技助力中国农业 2019-06-21
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2019-06-21
  • 抢占公共交通支付场景 腾讯与上海地铁达成战略合作 2019-06-20
  • 坚持政治建司 恪守对党绝对忠诚的生命线 2019-06-20
  • 海南环岛赛的服务摩托车队 6个生肖复式4肖多少组 河南快3遗漏 3d彩经网杀号 马报白小姐第99期 期赛马会精准单双 cba辽宁赛程20192019 双色球蓝球中了1 湖南快乐十分钟app 三分彩五星定位胆官方 12选5爱彩乐 最新湖北30选5开奖 新时时彩每天时间 老奇人两码中特期期中 竟彩足球最新推荐