首页 > 技术文章 > thinkphp结合云之讯做短信验证码

liuwenbohhh 2015-03-22 21:50 原文

thinkphp结合云之讯做短信验证码
先去云之讯注册账号 网址http://www.ucpaas.com/

注册云之讯平台账号,即可免费获得10元测试费用测试够用啦

解压附件到 ThinkPHP\Library\Org 文件中
新建方法

  1. public function send(){
  2.         //初始化必填
  3.         $options['accountsid']='******'; //填写自己的
  4.         $options['token']='*****'; //填写自己的
  5.         //初始化 $options必填
  6.         $ucpass = new \Org\Com\Ucpaas($options);
  7.                 
  8.                 //随机生成6位验证码
  9.         srand((double)microtime()*1000000);//create a random number feed.
  10.         $ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
  11.         $list=explode(",",$ychar);
  12.         for($i=0;$i<6;$i++){
  13.         $randnum=rand(0,35); // 10+26;
  14.         $authnum.=$list[$randnum];
  15.         }
  16.         //短信验证码(模板短信),默认以65个汉字(同65个英文)为一条(可容纳字数受您应用名称占用字符影响),超过长度短信平台将会自动分割为多条发送。分割后的多条短信将按照具体占用条数计费。
  17.         $appId = "****";  //填写自己的
  18.         $to = $_POST['to'];
  19.         $templateId = "1";
  20.         $param=$authnum;
  21.         $arr=$ucpass->templateSMS($appId,$to,$templateId,$param);
  22.         if (substr($arr,21,6) == 000000) {
  23.             //如果成功就,这里只是测试样式,可根据自己的需求进行调节
  24.             echo "短信验证码已发送成功,请注意查收短信";
  25.             
  26.         }else{
  27.             //如果不成功
  28.             echo "短信验证码发送失败,请联系客服";
  29.             
  30.         }
  31.         
  32.         
  33.     }
复制代码

前台页面

  1. <form id="form">
  2.     <input type="text" name="to" id="to"/>
  3.     <button id="submit" >获取验证码</button> 
  4.  </form>
  5.  <script type="text/javascript">
  6.       $(function(){
  7.       $("#submit").click(function(){
  8.               var tourl = $("#form").attr("action");
  9.             $.post("__URL__/send",{to:$("#to").val()},function(data,textStatus){
  10.               alert(data);
  11.         });
  12.       })
  13.       })
  14.  </script>
复制代码

测试时只能给注册手机号和添加白名单手机号码发送

推荐阅读