http://www.qdexun.cn/jsp/news/shownews.do?method=GetqtnewsdetailAction&id=1677

下载php源代码

现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样保证了用户的联系信息资料的100%的准确性 。今天笔者就跟大家分享一下如何实现php手机短信验证功能,希望对大家有所帮助。

第一、实现php手机短信验证功能的基本思路

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

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

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

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

二、手机号码短信验证前台页面效果实现

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">

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

 第三、调用短信服务器短信接口

 笔者整理的页面是yanzhengma.php(具体根据服务商提供信息)

 <?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=’http://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();

             }

如何实现php手机短信验证功能的更多相关文章

  1. 完整的Android手机短信验证源码

    短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台      1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ...

  2. Springboot下实现阿里云短信验证功能(含代码)

    Springboot下实现阿里云短信验证功能 一 开通阿里云短信服务 阿里云官网注册登录 找到短信服务并开通 打开短信服务的管理台 在国内消息那栏中添加签名管理和模板管理(按照格式要求去写) 在右上角 ...

  3. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用

    近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...

  4. 四:java调接口实现发送手机短信验证码功能

    1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...

  5. ASP.NET MVC 手机短信验证

    本文来自于stoneniqiu的文章,原文地址 http://www.cnblogs.com/stoneniqiu/p/6234002.html 1.注册一个应用 得到AppKey 和 App Sec ...

  6. AndroidStudio短信验证功能收不到验证码

    http://mob.com/第三方接口获取地址: 登陆过后点我的后台即可上传,管理应用.需注意的是,即使验证不通过,只要整合了短信验证的Jar包,每天都有20条免费验证短信.现在的mob.com只支 ...

  7. 基于ThinkPHP与阿里大于的PHP短信验证功能

    https://blog.csdn.net/s371795639/article/details/53381274 PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定A ...

  8. 利用twilio进行手机短信验证

    首先要注册 twilio 账号但是由于twilio人机验证用的是Goole所有注册需要FQ 完成后去免费获取15元使用 然后 pip install twilio 注册完成后会在个人首页显示你的免费金 ...

  9. sendsms短信验证功能实现代码

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...

随机推荐

  1. ApplicationContext(九)初始化非延迟的 bean

    ApplicationContext(九)初始化非延迟的 bean 此至,ApplicationContext 已经完成了全部的准备工作,开始初始化剩余的 bean 了(第 11 步). public ...

  2. Jquery中$.each()与$().each()的使用与区别。

    在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法.两个方法是有区别的,从而这两个方法在针对不同的操作上,显示了各自的特点. $().each,对于这个方法,在d ...

  3. js 正则表达式,匹配邮箱/手机号/用户名

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. XAML中用一字符即可展示漂亮的图型

    XAML中用一字符即可展示漂亮的图型 例如:Symbol Icon: People http://www.geekchamp.com/icon-explorer/action-icons/icon?c ...

  5. bootstrap 中 css 与 javascript 的使用

    1.css 1.1.选择器 1.2.子选择器: css 里的子元素用符号'>'表示.如下示例是表示拥有table样式的表盒,其thead元素内的tr元素如果有th的话,则应用该样式. .tabl ...

  6. NYOJ 1016 判断两线段是否相交

    #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #inc ...

  7. 开发简单的JavaWeb项目

    一.配置相关环境 下载配置JDK,eclipse,Tomcat服务器,Mysql数据库,Navicat for MySQL(数据库可视化工具) 如果你已经做好各个环境的配置,eclipse与Tomca ...

  8. 2018.12.15 spoj Substrings(后缀自动机)

    传送门 后缀自动机基础题. 求长度为iii的子串出现次数的最大值. 对原串建出samsamsam,然后用sizsizsiz更新每个maxlenmaxlenmaxlen的答案. 然后由于后缀链接将其转化 ...

  9. Java基础语法学习知识

    基础概念 标识符1.由字母,数字,下划线,美元符组成2.首字母不能是数字3.不能是关键字和保留字4.能反映其作用 关键字1.有特定含义2.用于特定地方3.用来命名标识符 常量1.程序执行时值不变的量2 ...

  10. illustrator画梯形

    1.在空白文档上先绘制出一个长方形: 2.用鼠标点击工具箱中”自由变换“工具: 3.用鼠标指向长方形四个顶点中的任意一个,当鼠标的箭头变为相反反方向的双箭头时,再按住鼠标左键不要松手, 同时按住[sh ...