欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能示例

 更新時(shí)間:2018年06月20日 12:11:04   作者:玻璃門  
這篇文章主要介紹了thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能,涉及基于thinkPHP的ajax提交、隨機(jī)數(shù)生成、短信接口調(diào)用、cookie操作等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了thinkPHP框架實(shí)現(xiàn)的短信接口驗(yàn)證碼功能。分享給大家供大家參考,具體如下:

我用的是一款名叫 短信寶 的應(yīng)用,新注冊的用戶可以免費(fèi)3條測試短信,發(fā)現(xiàn)一個(gè)BUG,同個(gè)手機(jī)可以無限注冊,自己玩玩還是可以的。

里面的短信接口代碼什么信息都沒有,感覺看得不是很明白,自己測試了一遍,可以用,直接調(diào)用就可以的,如果要用到項(xiàng)目中還有很多細(xì)節(jié)要處理,比如 設(shè)置一個(gè)驗(yàn)證碼的存活時(shí)間,還有點(diǎn)擊按鈕每隔一分鐘才能按一次,還有判斷這個(gè)用戶發(fā)的短信另一個(gè)用戶能不能用,以后有時(shí)間再接下去做,現(xiàn)在先來個(gè)簡易版的

視圖層View

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Ajax無刷新上傳</title>
</head>
<script type="text/javascript" src="__PUBLIC__/js/jquery-1.10.2.min.js"></script>
<body>
  <div>
    請輸入手機(jī)號(hào)碼:<input type="text" name="phone" class="phone">
  </div>
  <div>
    <a href="javascript:;" rel="external nofollow" class="butphone">點(diǎn)擊獲取短信驗(yàn)證碼</a>
  </div>
</body>
  <script type="text/javascript">
    $('.butphone').click(function(){
      var phone = $('.phone').val();//手機(jī)號(hào)碼
      $.post(
        "{:U('smsbao')}",//傳遞的方法
        {phone1:phone},//參數(shù)
        function (data){
          if(data == '1'){
            alert('輸入框不能為空');
          }else if(data == '2'){
            alert('輸入的值為非數(shù)字');
          }else{
            alert(data);
          }
          },
          'json'
        )
    })
  </script>
</html>

控制器層Controller

<?php
  namespace Home\Controller;
  use Think\Controller;
  class IndexController extends Controller 
  {
    //視圖
    public function index()
    {
      $this->display();
    }
    //短信接口 
    public function smsbao()
    {  
      $phonenum = trim( I('post.phone1') );//接收到的參數(shù)
      //首先判斷電話為不為空
      if(empty($phonenum) ){
        $this->ajaxReturn('1');
      }
      //判斷是否為數(shù)字
      $boolphone = is_numeric($phonenum);
      if($boolphone){
        $statusStr = array(
          "0"   => "短信發(fā)送成功",
          "-1" => "參數(shù)不全",
          "-2" => "服務(wù)器空間不支持,請確認(rèn)支持curl或者fsocket,聯(lián)系您的空間商解決或者更換空間!",
          "30" => "密碼錯(cuò)誤",
          "40" => "賬號(hào)不存在",
          "41" => "余額不足",
          "42" => "帳戶已過期",
          "43" => "IP地址限制",
          "50" => "內(nèi)容含有敏感詞"
          );
          $num = rand(100000, 999999);//設(shè)置隨機(jī)數(shù)
          setcookie("numset", $num);//把值放入COOKIE中,關(guān)閉瀏覽器清除cookie;
          $smsapi = "http://api.smsbao.com/";
          $user = "asdf75054138"; //短信平臺(tái)帳號(hào)
          $pass = md5("asdf75054138"); //短信平臺(tái)密碼
          $content="[Bug],來自四個(gè)火槍手的驗(yàn)證,驗(yàn)證碼:".$num;//要發(fā)送的短信內(nèi)容,隨便設(shè)置
          $phone = $phonenum;//要發(fā)送短信的手機(jī)號(hào)碼
          $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);//固定格式
          $result =file_get_contents($sendurl);//固定格式
          $this->ajaxReturn( $statusStr[$result] );//短信是否發(fā)送成功
        }else{
            $this->ajaxReturn( '2' );
        }
      }
  }

各種效果圖:

附件

短信寶url:http://www.cocsms.com/

直接注冊一個(gè)帳號(hào),彈出讓你用一條短信測試的不要測試,不然會(huì)損失一條。

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論