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其它相關文章!