thinkphp结合云之讯做短信验证码
先去云之讯注册账号 网址http://www.ucpaas.com/
注册云之讯平台账号,即可免费获得10元测试费用测试够用啦
解压附件到 ThinkPHP\Library\Org 文件中
新建方法
public function send(){ //初始化必填 $options['accountsid']='******'; //填写自己的 $options['token']='*****'; //填写自己的 //初始化 $options必填 $ucpass = new \Org\Com\Ucpaas($options); //随机生成6位验证码 srand((double)microtime()*1000000);//create a random number feed. $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"; $list=explode(",",$ychar); for($i=0;$i<6;$i++){ $randnum=rand(0,35); // 10+26; $authnum.=$list[$randnum]; } //短信验证码(模板短信),默认以65个汉字(同65个英文)为一条(可容纳字数受您应用名称占用字符影响),超过长度短信平台将会自动分割为多条发送。分割后的多条短信将按照具体占用条数计费。 $appId = "****"; //填写自己的 $to = $_POST['to']; $templateId = "1"; $param=$authnum; $arr=$ucpass->templateSMS($appId,$to,$templateId,$param); if (substr($arr,21,6) == 000000) { //如果成功就,这里只是测试样式,可根据自己的需求进行调节 echo "短信验证码已发送成功,请注意查收短信"; }else{ //如果不成功 echo "短信验证码发送失败,请联系客服"; } }
前台页面
<form id="form"> <input type="text" name="to" id="to"/> <button id="submit" >获取验证码</button> </form> <script type="text/javascript"> $(function(){ $("#submit").click(function(){ var tourl = $("#form").attr("action"); $.post("__URL__/send",{to:$("#to").val()},function(data,textStatus){ alert(data); }); }) }) </script>
测试时只能给注册手机号和添加白名单手机号码发送