PHP之短信验证码功能_第1张图片
现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样既保证了用户的联系信息资料的100%的准确性,也为用户提供了一种最方便快捷的注册方式 。
那么我们今天就来说一下 短信发送原理, 如下图
PHP之短信验证码功能_第2张图片
工作开发流程:

 第一、实现php手机短信验证功能的基本思路
  1、要找到短信服务提供商,接入短信服务
  2、在网站信息提交页面请求发送信息
  3、服务器向短信服务提供商通信,提交发送请求

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

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




    郑州传智播客
    
    

    
    


PHP-短信验证码

手机验证码:

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

?php
/**
 * Created by PhpStorm.
 * User: Leo
 * Date: 2017/8/30
 * Time: 14:59
 */

//$_post
$phone= isset($_POST['phone'])?$_POST['phone']:'';
$code = isset($_POST['code'])?$_POST['code']:'';
require (dirname(__FILE__).'/config.php');
require (dirname(__FILE__).'/SendSMS.php');

//实例化短信发送类
$sms= new  SendSMS($options['account'],$options['password']);
$context='验证码'.$code;
$res=$sms->send($phone,$context);
if ($res){
   echo "成功";
}else{
    echo "失败";

因为我们为了代码的优雅,把代码分开来写. 方便以后重复使用.所以把发送短息具体封装了一个类.具体看代码:

_un=$user;
        $this->_pw=$pwd;
    }

    function send($phone,$content,$isreport=0){
        //发送数据
        $data=array(
            'un'=>$this->_un,
            'pw'=>$this->_pw,
            'sm'=>$content,
            'da'=>$phone,
            'rd'=>$isreport,
            'rf'=>2,
            'tf'=>3,
            'dc'=>15,

        );

        $url=SendSMS::SENDURL.'?'.http_build_query($data);
        $this->curlGet($url);

    }
   public function curlGet($url){
     $ch= curl_init();
     curl_setopt($ch,CURLOPT_HEADER,0);
     curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
     curl_setopt($ch,CURLOPT_URL,$url);
     $res=curl_exec($ch);
     curl_close($ch);
     return $res;
    }
}

在SendSMS里面的一些方法,你在第三方的短信验证码服务商提供的实例代码里面都可以看到,功能基本都是大同小异的,所以我们就实现一个属于自己的发送消息类,比较简单.
最后,我们就实现了一个属于自己的短信验证码发送功能
PHP之短信验证码功能_第3张图片

那么最后,你学会了吗?