国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php如何利用云片網實現短信驗證碼功能

2020-03-22 18:57:22
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php利用云片網實現短信驗證碼功能的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文將以php舉例,介紹網頁短信驗證碼功能的實現。

在眾多的第三方短信服務商中我選擇了云片網這個短信服務商,本文也將盡可能利用最簡單的方式去幫助廣大開發者解決短信驗證碼功能模塊的實現。

再次之前我也參考了大部分網上的博客等,大多數都是把云片網的demo原封不動搬上去,對于我這個前端人員來說,根本毫無頭緒,故此我將細致的講解如何操作,以及獻上我的源碼。

我的業務流程就是通過點擊發送驗證碼這個按鈕,觸發一個ajax請求事件,將手機號發送到后臺,后臺生成驗證碼發送到手機端,并返回這個驗證碼給前臺進行驗證碼的驗證。

請求的php后端代碼如下

post.php

<?phpheader("Content-Type:text/html;charset=utf-8");$apikey = "xxxxxxxxxxxxxxx"; //修改為您的apikey(https://www.yunpian.com)登錄網址后獲取$mobile =$_POST['mobile']; //獲取傳入的手機號// $mobile = "xxxxxxxxxxx"; //請用自己的手機號代替$num = rand(1000,9999);   //隨機產生四位數字的驗證碼setcookie('shopCode',$num);$text="【蒙羊羊】您的驗證碼是".$num."。";$ch = curl_init();/* 設置驗證方式 */curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8','Content-Type:application/x-www-form-urlencoded', 'charset=utf-8'));/* 設置返回結果為流 */curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);/* 設置超時時間*/curl_setopt($ch, CURLOPT_TIMEOUT, 10);/* 設置通信方式 */curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 取得用戶信息$json_data = get_user($ch,$apikey);$array = json_decode($json_data,true);// echo '<pre>';print_r($array);// 發送短信$data=array('text'=>$text,'apikey'=>$apikey,'mobile'=>$mobile);$json_data = send($ch,$data);$array = json_decode($json_data,true);// echo '<pre>';print_r($array);// 發送模板短信// 需要對value進行編碼$data = array('tpl_id' => '1', 'tpl_value' => ('#code#').'='.urlencode($num).'&'.urlencode('#company#').'='.urlencode('蒙羊羊'), 'apikey' => $apikey, 'mobile' => $mobile);// print_r ($data);$json_data = tpl_send($ch,$data);$array = json_decode($json_data,true);echo $num;// 發送語音驗證碼// $data=array('code'=>$num,'apikey'=>$apikey,'mobile'=>$mobile);// $json_data =voice_send($ch,$data);// $array = json_decode($json_data,true);// echo $num;// 發送語音通知,務必要報備好模板/* 模板: 課程#name#在#time#開始。 最終發送結果: 課程深度學習在14:00開始 */$tpl_id = 'xxxxxxx'; //修改為你自己后臺報備的模板id$tpl_value = urlencode('#time#').'='.urlencode($num).'&'.urlencode('#name#').'='.urlencode('蒙羊羊');$data=array('tpl_id'=>$tpl_id,'tpl_value'=>$tpl_value,'apikey'=>$apikey,'mobile'=>$mobile);$json_data = notify_send($ch,$data);$array = json_decode($json_data,true);// echo $num;curl_close($ch);/************************************************************************************///獲得賬戶function get_user($ch,$apikey){curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v2/user/get.json');curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('apikey' => $apikey)));$result = curl_exec($ch);$error = curl_error($ch);checkErr($result,$error);return $result;}function send($ch,$data){curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v2/sms/single_send.json');curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));$result = curl_exec($ch);$error = curl_error($ch);checkErr($result,$error);return $result;}function tpl_send($ch,$data){curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v2/sms/tpl_single_send.json');curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));$result = curl_exec($ch);$error = curl_error($ch);checkErr($result,$error);return $result;}function voice_send($ch,$data){curl_setopt ($ch, CURLOPT_URL, 'http://voice.yunpian.com/v2/voice/send.json');curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));$result = curl_exec($ch);$error = curl_error($ch);checkErr($result,$error);return $result;}function notify_send($ch,$data){curl_setopt ($ch, CURLOPT_URL, 'https://voice.yunpian.com/v2/voice/tpl_notify.json');curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));$result = curl_exec($ch);$error = curl_error($ch);checkErr($result,$error);return $result;}function checkErr($result,$error) {if($result === false){echo 'Curl error: ' . $error;}else{//echo '操作完成沒有任何錯誤';}}?>

這個php后臺是我在官方提供的demo上進行修改的,刪除了語音驗證這個功能,只保留了短信驗證,并將返回給前端的數據只保留了四位數字的驗證碼,方便前端進行驗證碼的驗證。

官方原demo連接如下···鏈接

index.html

如下代碼是進行點擊并發送ajax請求,將請求的驗證碼并保存到localStorage中

 $.ajax({   type: "post",   url: "post.php", //后臺代碼文件名   data: {  mobile:$('#phone').val()//獲取輸入的手機號  },   // dataType: "json",   success:function(data){   console.log(data);  layer.msg('驗證碼發送成功,請注意查收!');  localStorage.setItem('code', JSON.stringify(data))  },   error:function(err){   console.log(err);   } });

進行驗證碼驗證

var code = JSON.parse(localStorage.getItem('code'))if($('#code').val() != code ){  layer.msg('驗證碼輸入錯誤');  return false; }

相關推薦:

php生成酷炫的四個字符驗證碼 php短信驗證碼軟件 php短信驗證碼平臺 php短信驗證碼通

基于PHP實現商品成交時發送短信功能 php短信驗證碼平臺 php短信驗證碼軟件 php短信驗證碼通

php短信接口案例分享

以上就是php如何利用云片網實現短信驗證碼功能的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 寿宁县| 定襄县| 陆川县| 吉安县| 康定县| 抚州市| 松阳县| 镇雄县| 钟祥市| 宜宾市| 札达县| 涿鹿县| 乌鲁木齐市| 屯门区| 静安区| 三亚市| 曲阜市| 灵宝市| 苏尼特右旗| 凤阳县| 汤原县| 平乡县| 中方县| 开鲁县| 丰原市| 祁门县| 麻栗坡县| 社旗县| 荥阳市| 江达县| 临漳县| 滦平县| 宁南县| 错那县| 盐池县| 石渠县| 黄陵县| 方山县| 仁怀市| 京山县| 金门县|