第一次做短信验证,弄了好几天才明白短信验证流程,希望能对小伙伴们有辣么一点点儿滴帮助

流程示意图(纯手绘)

下面上干货:二话不说直接开撸

页面如下:(由于编辑器不能粘贴html代码,所以只能截图)

JS代码:

function send_phone(){

var mobile_phone=$("#mobile_phone").val();

varmobile_code=$("#mobile_code").val();

if($("#mobile_phone").val()==""){

alert("手机号不能为空!");return false;

}

if(!/^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/i.test($("#mobile_phone").val())){

alert("手机号码不对,请正确填写");return false;

}

varurl="{:url('Sms/index')}";

$.post(url,{"mobile_phone":mobile_phone},function(data){

alert(data);

console.log(data);

});

}

function submit(){

var mobile_phone=$("#mobile_phone").val();

var mobile_code=$("#mobile_code").val();

$.post("{:url('Index/yz')}",{"mobile_phone":mobile_phone,"mobile_code":mobile_code},function(data){

alert(data);

});

}

后台代码:两个控制器(Sms处理接口;Index处理页面显示和表单提交)

/**

* Created by PhpStorm.

* User: shzk

* Date: 2017/4/14

* Time: 10:13

*/

namespace app\index\controller;

use think\Controller;

use think\Cookie;

class Sms extends Controller {

public function index(){

if(request()->isPost()){

$mobile_phone=input('post.mobile_phone');

// 短信内容

$vacode=rand('111111','999999');

//设置验证码cookie为300秒,即五分钟内输入验证码都有效果

Cookie::set('mobile_vcode',$vacode,300);

$message="[SMS]您的验证码是:".$vacode."。请不要把验证码泄露给其他人。";

$sms_name='*****';//短信平台帐号

$sms_pwd='*****';//短信平台密码

$statusStr=array(

"0"=>"短信发送成功",

"-1"=>"参数不全",

"-2"=>"服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",

"30"=>"密码错误",

"40"=>"账号不存在",

"41"=>"余额不足",

"42"=>"帐户已过期",

"43"=>"IP地址限制",

"50"=>"内容含有敏感词"

);

$smsapi="http://api.smsbao.com/";

$user=$sms_name;//短信平台帐号

$pass=md5("$sms_pwd");//短信平台密码

$content=$message;//要发送的短信内容

$phone=$mobile_phone;//要发送短信的手机号码

$sendurl=$smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);

$result=file_get_contents($sendurl) ;

echo $statusStr[$result];

}

}

}

/*

*/

namespace app\index\controller;

usethink\Controller;

usethink\Cookie;

class Index extends Controller{

public function index(){

return$this->fetch("Index/index");

}

public function yz(){

if(request()->isPost()){

$phone=input('post.mobile_phone');

$code=input('post.mobile_code');

$cookie_code=Cookie::get('mobile_vcode');

if($code==$cookie_code){

$this->success("yes");

}else{

$this->error("error");

}

}else{

$this->error("error");

}

}

}

如果你看了这篇博文对你有收获,请在右下角给本尊点个喜欢,蟹蟹...

本站以现代、古代情诗为主,情诗网创办于2013年,以原创爱情诗歌、经典情诗、现代情诗、古代情诗、英文情诗、情诗绝句为主并收集古诗、古诗词、诗歌大全、诗词名句的文学门户。方便您下次继续阅读;可以放在浏览器的收藏夹中(快捷键Ctrl+D);或者看到喜欢或者有趣的诗词可以通过分享按钮给你的好友分享;情诗网是目前最全情诗大全网站之一。并欢迎广大诗歌爱好者阅览投稿!喜欢本站的话请大家把本站告诉给你朋友哦!地址是 www.qingshiwang.com !