這篇文章給大家分享的是有關(guān)php網(wǎng)頁(yè)如何用手機(jī)號(hào)注冊(cè)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為銅官企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站建設(shè),銅官網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
PHP網(wǎng)頁(yè)手機(jī)注冊(cè)邏輯:
首先要找短信服務(wù)商如:夢(mèng)網(wǎng)、云信使、互億無(wú)線等等申請(qǐng)短信發(fā)送接口。
網(wǎng)站實(shí)現(xiàn)流程如下:
第一步:用戶注冊(cè)時(shí)輸入手機(jī)號(hào),網(wǎng)站首先要通過(guò)JS或者ajax+php驗(yàn)證這個(gè)號(hào)碼是不是正確的手機(jī)號(hào)。
第二步:用戶點(diǎn)擊發(fā)送手機(jī)驗(yàn)證碼,通過(guò)ajax把手機(jī)號(hào)傳到php,這時(shí)php生成一個(gè)隨機(jī)的驗(yàn)證碼保存在session中,然后通過(guò)短信接口把這個(gè)驗(yàn)證碼發(fā)送到這個(gè)手機(jī)號(hào)中。
第三步:用戶輸入手機(jī)收到的驗(yàn)證碼注冊(cè)。網(wǎng)站用session中的驗(yàn)證碼和用戶輸入的驗(yàn)證碼比較。
php網(wǎng)頁(yè)用手機(jī)號(hào)注冊(cè)實(shí)現(xiàn):
通常在使用手機(jī)號(hào)注冊(cè)時(shí)需要發(fā)送短信驗(yàn)證碼,在修改密碼等敏感操作時(shí)也需要驗(yàn)證手機(jī)號(hào)發(fā)送短信驗(yàn)證碼。在項(xiàng)目代碼中發(fā)送短信,通常要調(diào)用第三方短信商的短信發(fā)送接口。
可以將接口地址和appkey放在配置文件中。封裝一個(gè)函數(shù)sendmsg用于發(fā)送短信,可以用PHP中的curl請(qǐng)求方式(PHP中的curl函數(shù)庫(kù))發(fā)送請(qǐng)求。
if (!function_exists('sendmsg')) { function sendmsg($phone, $msg){ //從配置文件讀取接口信息 $gateway = config('msg.gateway'); $appkey = config('msg.appkey'); //準(zhǔn)備請(qǐng)求地址 $url = $gateway . "?appkey=" . $appkey . "&mobile=" . $phone . "&content=" . $msg; //發(fā)送請(qǐng)求 比如get方式 https請(qǐng)求 $res = curl_request($url, false, [], true); if (!$res) { return "請(qǐng)求發(fā)送失敗"; } //請(qǐng)求發(fā)送成功,返回值json格式字符串 $arr = json_decode($res, true); if ($arr['code'] == 10000) { return true; } return $arr['msg']; } }
在控制器里定義一個(gè)sendcode方法,當(dāng)前臺(tái)點(diǎn)擊發(fā)送驗(yàn)證碼發(fā)送ajax請(qǐng)求,該方法接收到前臺(tái)注冊(cè)用戶的手機(jī)號(hào),調(diào)用sendmsg函數(shù)實(shí)現(xiàn)驗(yàn)證碼短信發(fā)送功能。
//ajax請(qǐng)求發(fā)送注冊(cè)驗(yàn)證碼 public function sendcode($phone) { //參數(shù)驗(yàn)證 if (empty($phone)) { return ['code' => 10002, 'msg' => '參數(shù)錯(cuò)誤']; } //短信內(nèi)容 您用于注冊(cè)的驗(yàn)證碼為:****,如非本人操作,請(qǐng)忽略。 $code = mt_rand(1000, 9999); $msg = "您用于注冊(cè)的驗(yàn)證碼為:{$code},如非本人操作,請(qǐng)忽略。"; //發(fā)送短信 $res = sendmsg($phone, $msg); if ($res === true) { //發(fā)送成功,存儲(chǔ)驗(yàn)證碼到session 用于后續(xù)驗(yàn)證碼的校驗(yàn) session('register_code_' . $phone, $code); return ['code' => 10000, 'msg' => '發(fā)送成功', 'data' => $code]; } return ['code' => 10001, 'msg' => $res]; }
感謝各位的閱讀!關(guān)于php網(wǎng)頁(yè)如何用手機(jī)號(hào)注冊(cè)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!