首頁 >後端開發 >PHP問題 >php怎麼發簡訊通知

php怎麼發簡訊通知

angryTom
angryTom原創
2019-10-26 14:15:054754瀏覽

php怎麼發簡訊通知

php怎麼發簡訊通知

#做網站時發送簡訊驗證碼的需求很常見,例如手機號註冊,密碼找回等等。下面一起來了解下如何實現吧。

1.  手機號碼註冊的前後端互動的流程;

 (1)使用者操作用戶端點選傳送驗證碼,(然後客戶端ajax發送請求,且按鈕處於60s靜默時間)

  (2)後端邏輯層,接受傳遞過來的手機號,驗證格式是否合法,進入資料庫匹配是否存在

  (3)產生驗證碼,存在session中,然後curl發送到第三方的短信接口鏈接中

  (4)配置第三方短信平台,向指定手機號用戶發送驗證碼信息

2 .  今天我們主要闡述第三方平台的配置,以及後台處理的邏輯;

#3.  選擇的第三方平台 為:(您也可以選擇其他平台,其原理都差不多類似)

(1) 賽迪·雲端通訊(  https://www.mysubmail.com )

(2) 註冊,實名認證,進入產品與服務,新建模板,其模板語法可以查看其配套文檔

php怎麼發簡訊通知

(3) 去到"創建/管理AppIdD" 欄目,創建並且啟用項目,然後生成默認的"APPID"及"APPKEY" 

php怎麼發簡訊通知

(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怎麼發簡訊通知

 更多PHP相關知識,請造訪PHP中文網

以上是php怎麼發簡訊通知的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn