Heim  >  Artikel  >  Backend-Entwicklung  >  So registrieren Sie sich mit einer Mobiltelefonnummer auf einer PHP-Webseite

So registrieren Sie sich mit einer Mobiltelefonnummer auf einer PHP-Webseite

尚
Original
2019-10-26 14:26:243457Durchsuche

So registrieren Sie sich mit einer Mobiltelefonnummer auf einer PHP-Webseite

PHP-Webtelefon-Registrierungslogik:

Suchen Sie zunächst einen SMS-Dienstanbieter wie Monternet , Cloud Messenger, Huyi Wireless usw. beantragen eine SMS-Versandschnittstelle.

Der Website-Implementierungsprozess läuft wie folgt ab:

Schritt 1: Benutzer geben bei der Registrierung ihre Mobiltelefonnummer ein. Die Website muss zunächst über JS oder Ajax überprüfen, ob diese Nummer die richtige ist +php.

Schritt 2: Der Benutzer klickt, um den Mobiltelefon-Bestätigungscode zu senden, und überträgt die Mobiltelefonnummer über Ajax an PHP. Zu diesem Zeitpunkt generiert PHP einen zufälligen Bestätigungscode und speichert ihn in der Sitzung sendet den Bestätigungscode an diese Handynummer.

Schritt 3: Der Benutzer gibt den auf dem Mobiltelefon empfangenen Bestätigungscode ein, um sich zu registrieren. Die Website vergleicht den Bestätigungscode in der Sitzung mit dem vom Benutzer eingegebenen Bestätigungscode.

PHP-Webseitenregistrierung mit Mobiltelefonnummer:

Normalerweise müssen Sie bei der Registrierung mit einer Mobiltelefonnummer einen SMS-Bestätigungscode senden, und das müssen Sie auch Verifizieren Sie Ihr Mobiltelefon, wenn Sie Passwörter und andere sensible Vorgänge ändern. Senden Sie einen SMS-Bestätigungscode. Um SMS-Nachrichten im Projektcode zu versenden, müssen Sie in der Regel die SMS-Versandschnittstelle des SMS-Drittanbieters aufrufen.

Sie können die Schnittstellenadresse und den Appkey in die Konfigurationsdatei einfügen. Kapseln Sie eine Funktion sendmsg zum Senden von Textnachrichten. Sie können die Curl-Anfragemethode in PHP (Curl-Funktionsbibliothek in PHP) verwenden, um die Anfrage zu senden.

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'];
    }
}

Definieren Sie eine Sendcode-Methode im Controller. Wenn die Rezeption auf „Verifizierungscode senden“ klickt, um eine Ajax-Anfrage zu senden, empfängt diese Methode die Mobiltelefonnummer des registrierten Benutzers an der Rezeption und ruft an sendmsg-Funktion zum Implementieren der SMS-Sendefunktion für Bestätigungscodes.

 //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];
    }

Das obige ist der detaillierte Inhalt vonSo registrieren Sie sich mit einer Mobiltelefonnummer auf einer PHP-Webseite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn