laravel框架手機發送驗證碼
阿新 • • 發佈:2018-08-10
bcb fun def success als close 控制器 acc out
https://blog.csdn.net/sunny_lg/article/details/52471225
現在登錄註冊時 我們的驗證方法 不在單一化 手機發送驗證碼 已經成為常態 讓我們 一起來實現以下吧 !
首先我們要先找短信的接口 我用的是 雲信使 這裏是他的地址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" onclick=‘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. 這樣就好了 大家快測試一下吧!
laravel框架手機發送驗證碼