php怎麼傳簡訊通知
做網站時傳送簡訊驗證碼的需求很常見,比如手機號註冊,密碼找回等等。下面一起來了解下如何實現吧。
1. 手機號註冊的前後端互動的流程;
(1)使用者操作用戶端點選傳送驗證碼,(然後用戶端ajax傳送請求,並且按鈕處於60s靜默時間)
(2)後端邏輯層,接受傳遞過來的手機號,驗證格式是否合法,進入資料庫匹配是否存在
(3)生成驗證碼,存在session中,然後curl傳送到第三方的簡訊介面連結中
(4)設定第三方簡訊平台,向指定手機號使用者傳送驗證碼資訊
2. 今天我們主要闡述第三方平台的設定,以及後台處理的邏輯;
3. 選擇的第三方平台為: (您也可以選擇其他平台,其原理都差不多類似)
(1) 賽迪·雲通訊 ( https://www.mysubmail.com )
(2) 註冊,實名認證,進入產品與服務,新建模板,其模板語法可以檢視其配套文件
(3) 去到 "建立/管理 AppIdD" 欄目,建立並且啟用專案,然後生成預設的 "APPID" 及 "APPKEY"
(4)去到首頁,點開 "檢視API開發文件" 連結,獲取POST請求的連結:
https://api.mysubmail.com/message/xsend
4. 後台邏輯開發:
核心:建立驗證碼 -> 封裝POST請求函數 -> 傳送驗證碼到第三方平台 -> 再由第三方轉發至使用者的手機
(1)傳送驗證碼到第三方平台:
private function sendMessage() { $appId = "xxxxx"; $appKey = "36426a9xxxxxxxxxxxx7bed8583a3c"; $code = $this->makeCode(6); $data = [ "appid" => $appId, "to" => $this->phone, "project" => "FoJ494", "vars" => '{"code":' . $code . ',"time":"60"}', "signature" => $appKey, ]; $res = $this->httpRequest($data); var_dump($res); }
(2)請求連結傳送驗證碼資料到第三方平台
private function httpRequest($data) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $this->RequestUrl); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if (isset($data)) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } $res = curl_exec($curl); var_dump(curl_error($curl)); //列印請求錯誤 curl_close($curl); return $res; }
5. 最終效果
以上就是php怎麼傳簡訊通知的詳細內容,更多請關注TW511.COM其它相關文章!