• 技术文章 >后端开发 >PHP问题

    php网页怎么用手机号注册

    尚2019-10-26 14:26:24原创1479

    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中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 网页 注册
    上一篇:php中如何判断数组是否为空 下一篇:php配置文件有哪些
    大前端线上培训班

    相关文章推荐

    • php网站怎么修改图片• 让phpStudy2018 Nginx 支持WordPress自定义链接• php怎么返回数据给vue• php如何实现页面跳转

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网