1. 程式人生 > >laravel框架手機發送驗證碼

laravel框架手機發送驗證碼

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框架手機發送驗證碼