首頁 > 後端開發 > PHP問題 > php網頁怎麼用手機號碼註冊

php網頁怎麼用手機號碼註冊

發布: 2023-02-27 19:22:01
原創
3514 人瀏覽過

php網頁怎麼用手機號碼註冊

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網頁怎麼用手機號碼註冊的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板