黑马程序员PHP短信验证码功能.docx

上传人:b****6 文档编号:8387128 上传时间:2023-01-31 格式:DOCX 页数:6 大小:46.92KB
下载 相关 举报
黑马程序员PHP短信验证码功能.docx_第1页
第1页 / 共6页
黑马程序员PHP短信验证码功能.docx_第2页
第2页 / 共6页
黑马程序员PHP短信验证码功能.docx_第3页
第3页 / 共6页
黑马程序员PHP短信验证码功能.docx_第4页
第4页 / 共6页
黑马程序员PHP短信验证码功能.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

黑马程序员PHP短信验证码功能.docx

《黑马程序员PHP短信验证码功能.docx》由会员分享,可在线阅读,更多相关《黑马程序员PHP短信验证码功能.docx(6页珍藏版)》请在冰豆网上搜索。

黑马程序员PHP短信验证码功能.docx

黑马程序员PHP短信验证码功能

黑马程序员:

PHP短信验证码功能

现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样既保证了用户的联系信息资料的100%的准确性,也为用户提供了一种最方便快捷的注册方式。

那么我们今天就来说一下短信发送原理,如下图

 

工作开发流程:

 第一、实现php手机短信验证功能的基本思路

  1、要找到短信服务提供商,接入短信服务

  2、在网站信息提交页面请求发送信息

  3、服务器向短信服务提供商通信,提交发送请求

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

第二:

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

DOCTYPEhtml>

郑州传智播客

*{margin:

0;padding:

0;}

varInterValObj;//timer变量,控制时间

varcount=60;//间隔函数,1秒执行

varcurCount;//当前剩余秒数

functioncodeRandom(chars){

varres="";

for(vari=0;i

res+=Math.floor(Math.random()*10);

}

returnres;

}

//timer处理函数

functionSetRemainTime(){

if(curCount==0){

window.clearInterval(InterValObj);//停止计时器

$("#sub").removeAttr("disabled");//启用按钮

$("#sub").val("重新发送验证码");

code="";//清除验证码。

如果不清除,过时间后,输入收到的验证码依然有效

}

else{

curCount--;

$("#sub").val("请在"+curCount+"秒内输入验证码");

}

}

//获取手机号码

$(function(){

$("#sub").click(function(){

varphone=$("#phone").val();//获取手机号码

curCount=count;

if(phone!

=''){

//验证手机有效性

varmyreg=/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;

if(!

myreg.test($('#phone').val()))

{

alert('请输入有效的手机号码!

');

returnfalse;

}

phone=$('#phone').val();

//验证码(随机生成)

varcode=codeRandom(4);

//设置button效果,开始计时

$("#sub").attr("disabled","true");

$("#sub").val("请在"+curCount+"秒内输入验证码");

InterValObj=window.setInterval(SetRemainTime,1000);//启动计时器,1秒执行一次

//发送数据到后台通过Ajax

$.ajax({

//设置的参数

type:

"post",

url:

"data.php",

data:

{"code":

code,"phone":

phone},

success:

function(msg){

alert(msg);

}

});}else{

alert('请填写手机号码');

}

});

});

PHP-短信验证码

手机验证码:

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

php

/**

*CreatedbyPhpStorm.

*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=newSendSMS($options['account'],$options['password']);

$context='验证码'.$code;

$res=$sms->send($phone,$context);

if($res){

echo"成功";

}else{

echo"失败";

}

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

php

/**

*CreatedbyPhpStorm.

*User:

Leo

*Date:

2017/8/30

*Time:

15:

26

*/

/**

*设置用户信息

*/

classSendSMS{

constSENDURL=':

8899/sms/Api/Send.do';

private$_un;

private$_pw;

function__construct($user,$pwd){

$this->_un=$user;

$this->_pw=$pwd;

}

functionsend($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);

}

publicfunctioncurlGet($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里面的一些方法,你在第三方的短信验证码服务商提供的实例代码里面都可以看到,功能基本都是大同小异的,所以我们就实现一个属于自己的发送消息类,比较简单.

最后,我们就实现了一个属于自己的短信验证码发送功能

那么最后,你学会了吗?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1