laravel框架手机发送验证码

现在登录注册时 我们的验证方法 不在单一化  手机发送验证码 已经成为常态 让我们 一起来实现以下吧 !

首先我们要先找短信的接口 我用的是  云信使   这里是他的地址http://sms.sms.cn/login.php?cgh 大家可以去注册一下

1.进入视图

   

< ul class= "register" >
< li >
< label > 手机号: label >
< input class= "ipt-box tel-bg" value= "" id= "regi_mobile" type= "text" >
li >
< li >
< label > 验证码: label >
< input class= "code" value= "六位数字验证码" id= "validatecode" type= "text" >
< input class= "code" οnclick= ' duanxin () ' value= "获取验证码" type= "button" >
li >
ul >
      
< script src= "js/jquery.js" > script >
< script >
function duanxin (){
//获取手机ID
var iphone = $ ( "#regi_mobile" ). val ();
$ .ajax({
url: 'registers' ,
data:{ 'iphone' :iphone},
type: "GET" ,
dataType: "Json" ,
success: function (msg){
if (msg[ 'stat' ]== '100' ){
alert( '短信发送成功了' );
} else {
alert( '短信发送失败了' );
}
}
});
}
script >

2. 路由

Route:: any ( 'registers' , 'LoginController@loginDo' );

3.进入控制器

public function loginDo(){
$iphone = $_GET [ 'iphone' ];
$code = rand ( 1000 , 9999 );
setcookie ( 'code' , $code , time ()+ 600 );
//把URL地址改成你自己就好了,把手机号码和信息模板套进去就行
$url = 'http://api.sms.cn/sms/?=send&uid=XXX&pwd=61dfa5a45c06bf691767d35bcb197595&template=384859&mobile=' . $iphone . '&content={"code":"' . $code . '"}'
$data = array ();
$method = 'GET' ;
$res = $this ->curlPost( $url , $data , $method );
echo $res ;
}
/*curlpost传值*/
public function curlPost( $url , $data , $method ){
$ch = curl_init (); //1.初始化
curl_setopt ( $ch , CURLOPT_URL , $url ); //2.请求地址
curl_setopt ( $ch , CURLOPT_CUSTOMREQUEST , $method ); //3.请求方式
//4.参数如下
curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER , FALSE ); //https
curl_setopt ( $ch , CURLOPT_SSL_VERIFYHOST , FALSE );
curl_setopt ( $ch , CURLOPT_USERAGENT , 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)' ); //模拟浏览器
curl_setopt ( $ch , CURLOPT_FOLLOWLOCATION , 1 );
curl_setopt ( $ch , CURLOPT_AUTOREFERER , 1 );
curl_setopt ( $ch , CURLOPT_HTTPHEADER , array ( 'Accept-Encoding: gzip, deflate' )); //gzip解压内容
curl_setopt ( $ch , CURLOPT_ENCODING , 'gzip,deflate' );
if ( $method == "POST" ){ //5.post方式的时候添加数据
curl_setopt ( $ch , CURLOPT_POSTFIELDS , $data );
}
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , true );
$tmpInfo = curl_exec ( $ch ); //6.执行
if ( curl_errno ( $ch )) { //7.如果出错
return curl_error ( $ch );
}
curl_close ( $ch ); //8.关闭
return $tmpInfo ;
}


4. 这样就好了  大家快测试一下吧!

你可能感兴趣的:(短信验证)