首页 > 代码库 > Thinkphp框架 -- 短信接口验证码
Thinkphp框架 -- 短信接口验证码
我用的是一款名叫 短信宝 的应用,新注册的用户可以免费3条测试短信,发现一个BUG,同个手机可以无限注册,自己玩玩还是可以的。
里面的短信接口代码什么信息都没有,感觉看得不是很明白,自己测试了一遍,可以用,直接调用就可以的,如果要用到项目中还有很多细节要处理,比如 设置一个验证码的存活时间,还有点击按钮每隔一分钟才能按一次,还有判断这个用户发的短信另一个用户能不能用,以后有时间再接下去做,现在先来个简易版的
视图层View
1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Ajax无刷新上传</title> 6 </head> 7 <script type="text/javascript" src="http://www.mamicode.com/__PUBLIC__/js/jquery-1.10.2.min.js"></script> 8 9 <body> 10 <div> 11 请输入手机号码:<input type="text" name="phone" class="phone"> 12 </div> 13 <div> 14 <a href="javascript:;" class="butphone">点击获取短信验证码</a> 15 </div> 16 </body> 17 <script type="text/javascript"> 18 19 $(‘.butphone‘).click(function(){ 20 21 var phone = $(‘.phone‘).val();//手机号码 22 23 $.post( 24 25 "{:U(‘smsbao‘)}",//传递的方法 26 27 {phone1:phone},//参数 28 29 function (data){ 30 31 if(data =http://www.mamicode.com/= ‘1‘){ 32 alert(‘输入框不能为空‘); 33 }else if(data =http://www.mamicode.com/= ‘2‘){ 34 alert(‘输入的值为非数字‘); 35 }else{ 36 alert(data); 37 } 38 39 }, 40 ‘json‘ 41 ) 42 }) 43 </script> 44 45 </html>
控制器层Controller
1 <?php 2 namespace Home\Controller; 3 use Think\Controller; 4 class IndexController extends Controller 5 { 6 //视图 7 public function index() 8 { 9 $this->display(); 10 } 11 12 //短信接口 13 public function smsbao() 14 { 15 $phonenum = trim( I(‘post.phone1‘) );//接收到的参数 16 17 //首先判断电话为不为空 18 if(empty($phonenum) ){ 19 20 $this->ajaxReturn(‘1‘); 21 } 22 23 //判断是否为数字 24 $boolphone = is_numeric($phonenum); 25 26 if($boolphone){ 27 28 $statusStr = array( 29 "0" => "短信发送成功", 30 "-1" => "参数不全", 31 "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!", 32 "30" => "密码错误", 33 "40" => "账号不存在", 34 "41" => "余额不足", 35 "42" => "帐户已过期", 36 "43" => "IP地址限制", 37 "50" => "内容含有敏感词" 38 ); 39 $num = rand(100000, 999999);//设置随机数 40 41 setcookie("numset", $num);//把值放入COOKIE中,关闭浏览器清除cookie; 42 43 $smsapi = "http://api.smsbao.com/"; 44 45 $user = "asdf75054138"; //短信平台帐号 46 47 $pass = md5("asdf75054138"); //短信平台密码 48 49 $content="[Bug],来自四个火枪手的验证,验证码:".$num;//要发送的短信内容,随便设置 50 51 $phone = $phonenum;//要发送短信的手机号码 52 53 $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);//固定格式 54 55 $result =file_get_contents($sendurl);//固定格式 56 57 $this->ajaxReturn( $statusStr[$result] );//短信是否发送成功 58 59 }else{ 60 $this->ajaxReturn( ‘2‘ ); 61 } 62 63 } 64 }
各种效果图:
附件
短信宝url:http://www.cocsms.com/
直接注册一个帐号,弹出让你用一条短信测试的不要测试,不然会损失一条。
Thinkphp框架 -- 短信接口验证码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。