Maison  >  Article  >  développement back-end  >  Comment s'inscrire avec un numéro de téléphone mobile sur la page Web php

Comment s'inscrire avec un numéro de téléphone mobile sur la page Web php

尚
original
2019-10-26 14:26:243480parcourir

Comment s'inscrire avec un numéro de téléphone mobile sur la page Web php

Logique d'enregistrement du téléphone Web PHP :

Tout d'abord, trouvez un fournisseur de services SMS tel que : Monternet , Cloud Messenger, Huyi Wireless, etc. s'appliquent à l'interface d'envoi de SMS.

Le processus de mise en œuvre du site Web est le suivant :

Étape 1 : Les utilisateurs saisissent leur numéro de téléphone mobile lors de leur inscription. Le site Web doit d'abord vérifier si ce numéro est le bon numéro de téléphone mobile via JS ou ajax. +php.

Étape 2 : L'utilisateur clique pour envoyer le code de vérification du téléphone mobile et transmet le numéro de téléphone mobile à php via ajax. À ce moment, php génère un code de vérification aléatoire et l'enregistre dans la session, puis. envoie le code de vérification à ce numéro de mobile.

Étape 3 : L'utilisateur saisit le code de vérification reçu sur le téléphone mobile pour s'inscrire. Le site Web compare le code de vérification de la session avec le code de vérification saisi par l'utilisateur.

Inscription sur une page Web PHP avec un numéro de téléphone mobile :

Habituellement, lors de votre inscription avec un numéro de téléphone mobile, vous devez envoyer un code de vérification par SMS, et vous devez également vérifiez votre téléphone mobile lors de la modification des mots de passe et d'autres opérations sensibles. Envoyez un code de vérification par SMS. Pour envoyer des messages SMS dans le code du projet, vous devez généralement appeler l'interface d'envoi de SMS du fournisseur SMS tiers.

Vous pouvez mettre l'adresse de l'interface et la clé d'application dans le fichier de configuration. Encapsulez une fonction sendmsg pour envoyer des messages texte. Vous pouvez utiliser la méthode de requête curl en PHP (bibliothèque de fonctions curl en PHP) pour envoyer la requête.

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

Définissez une méthode sendcode dans le contrôleur. Lorsque la réception clique pour envoyer le code de vérification, elle envoie une requête ajax. Cette méthode reçoit le numéro de téléphone portable de l'utilisateur enregistré à la réception. et appelle la fonction sendmsg pour implémenter la fonction d'envoi de SMS de code de vérification.

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn