站長資訊網
最全最豐富的資訊網站

php如何實現手機注冊

php實現手機注冊的方法:1、將接口地址和appkey放在配置文件中;2、封裝sendmsg函數,使用curl發送請求;3、在控制器中定義sendcode方法;4、調用sendmsg函數實現驗證碼短信發送功能。

php如何實現手機注冊

本文操作環境:windows10系統、php 7、thindpad t480電腦。

我們在使用手機號注冊時通常需要發送短信驗證碼,在進行修改密碼等敏感操作時也需要手機號發送短信驗證碼。那么在實際項目中如果要發送短信驗證碼該如何做呢?通常是需要調用第三方短信商的短信發送接口。

下面就讓我們一起來看看如何實現吧!

手機注冊:

可以將接口地址和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中郵箱注冊可以使用PHPMailer插件來實現郵件發送(具體可查看PHPMailer手冊)。在配置文件中配置好郵箱賬號信息,封裝一個send_email函數使用phpmailer發送郵件。

if (!function_exists('send_email')) {     //使用PHPMailer發送郵件     function send_email($email, $subject, $body){         //實例化PHPMailer類  不傳參數(如果傳true,表示發生錯誤時拋異常)         $mail = new PHPMailer(); //        $mail->SMTPDebug = 2;                              //調試時,開啟過程中的輸出          $mail->isSMTP();                                     // 設置使用SMTP服務         $mail->Host = config('email.host');                  // 設置郵件服務器的地址         $mail->SMTPAuth = true;                              // 開啟SMTP認證         $mail->Username = config('email.email');             // 設置郵箱賬號         $mail->Password = config('email.password');            // 設置密碼(授權碼)         $mail->SMTPSecure = 'tls';                            //設置加密方式 tls   ssl         $mail->Port = 25;                                    // 郵件發送端口         $mail->CharSet = 'utf-8';                           //設置字符編碼         //Recipients         $mail->setFrom(config('email.email'));//發件人         $mail->addAddress($email);     // 收件人         //Content         $mail->isHTML(true);                                  // 設置郵件內容為html格式         $mail->Subject = $subject; //主題         $mail->Body    = $body;//郵件正文 //      $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';         if ($mail->send()) {             return true;         }         return $mail->ErrorInfo; //        $mail->ErrorInfo     } }

然后在控制器的方法中調用該函數,實現本郵箱向注冊用戶郵箱發送驗證郵件功能。

推薦學習:php培訓

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久成人国产精品二三区| 亚洲äv永久无码精品天堂久久| 99re热精品视频国产免费| 国语自产偷拍精品视频偷拍| selao久久国产精品| 精品国产日韩久久亚洲| 国产日产精品_国产精品毛片| 成人精品视频一区二区三区尤物 | 久久精品无码专区免费东京热 | 青青草国产三级精品三级| 国产精品lululu在线观看| 久久国产精品成人影院| 少妇人妻偷人精品无码视频| 亚洲国产精品久久久天堂| 久久777国产线看观看精品| 正在播放国产精品每日更新 | 国产chinesehd精品酒店| 91大神在线精品视频一区| 人妻少妇精品中文字幕AV| 久久久精品2019中文字幕之3| 久久成人精品视频| 国产精品福利自产拍在线观看| 国精无码欧精品亚洲一区| 国内精品久久九九国产精品| 亚洲精品无码AV人在线播放| 在线成人精品国产区免费| 2022国产成人精品视频人| 日产精品一线二线三线京东| 中文字幕久热精品视频在线| 亚洲国产精品久久久久网站| 久久免费国产精品| 久久久99精品一区二区| 久久国产精品免费| 成人区精品一区二区不卡| 久久青青草原精品国产软件| 99re8这里有精品热视频免费| 国産精品久久久久久久| 日韩精品人妻一区二区中文八零| 97久久国产综合精品女不卡| 久久这里只有精品久久| 久久精品国产96精品亚洲|