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]; }
Das obige ist der detaillierte Inhalt vonphp网页怎么用手机号注册. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!