php網頁怎麼用手機號註冊

2020-07-16 10:06:49

PHP網頁手機註冊邏輯:

首先要找簡訊服務商如:夢網、雲信使、互億無線等等申請簡訊傳送介面。

網站實現流程如下:

第一步:使用者註冊時輸入手機號,網站首先要通過JS或者ajax+php驗證這個號碼是不是正確的手機號。

第二步:使用者點選傳送手機驗證碼,通過ajax把手機號傳到php,這時php生成一個隨機的驗證碼儲存在session中,然後通過簡訊介面把這個驗證碼傳送到這個手機號中。

第三步:使用者輸入手機收到的驗證碼註冊。網站用session中的驗證碼和使用者輸入的驗證碼比較。

php網頁用手機號註冊實現:

通常在使用手機號註冊時需要傳送簡訊驗證碼,在修改密碼等敏感操作時也需要驗證手機號傳送簡訊驗證碼。在專案程式碼中傳送簡訊,通常要呼叫第三方簡訊商的簡訊傳送介面。

可以將介面地址和appkey放在組態檔中。封裝一個函數sendmsg用於傳送簡訊,可以用PHP中的curl請求方式(PHP中的curl函數庫)傳送請求。

if (!function_exists('sendmsg')) {
    function sendmsg($phone, $msg){
        //從組態檔讀取介面資訊
        $gateway = config('msg.gateway');
        $appkey = config('msg.appkey');
        //準備請求地址
        $url = $gateway . "?appkey=" . $appkey . "&mobile=" . $phone . "&content=" . $msg;
        //傳送請求 比如get方式  https請求
        $res = curl_request($url, false, [], true);
 
        if (!$res) {
            return "請求傳送失敗";
        }
        //請求傳送成功,返回值json格式字串
        $arr = json_decode($res, true);
        if ($arr['code'] == 10000) {
            return true;
        }
        return $arr['msg'];
    }
}

在控制器裡定義一個sendcode方法,當前台點選傳送驗證碼傳送ajax請求,該方法接收到前台註冊使用者的手機號,呼叫sendmsg函數實現驗證碼簡訊傳送功能。

 //ajax請求傳送註冊驗證碼
    public function sendcode($phone)
    {
        //引數驗證
        if (empty($phone)) {
            return ['code' => 10002, 'msg' => '引數錯誤'];
        }
        //簡訊內容  您用於註冊的驗證碼為:****,如非本人操作,請忽略。
        $code = mt_rand(1000, 9999);
        $msg = "您用於註冊的驗證碼為:{$code},如非本人操作,請忽略。";
        //傳送簡訊
        $res = sendmsg($phone, $msg);
        if ($res === true) {
            //傳送成功,儲存驗證碼到session 用於後續驗證碼的校驗
            session('register_code_' . $phone, $code);
            return ['code' => 10000, 'msg' => '傳送成功', 'data' => $code];
        }
        return ['code' => 10001, 'msg' => $res];
    }

以上就是php網頁怎麼用手機號註冊的詳細內容,更多請關注TW511.COM其它相關文章!