php發(fā)送短信驗(yàn)證碼完成注冊(cè)功能
短信驗(yàn)證碼注冊(cè),很簡(jiǎn)單,用的是 云通訊的短信系統(tǒng)(收費(fèi)的,不過(guò)有測(cè)試的api給我們做測(cè)試)。好了,不多說(shuō),進(jìn)入正題。
1、收到到云通訊短信系統(tǒng)注冊(cè)賬號(hào),然后下載他們的封裝好的短信api接口代碼,解壓,然后找到CCPRestSDK.php文件和SendTemplateSMS.php文件,將其拉到根目錄文件夾里。
2、打開SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千萬(wàn)別包含錯(cuò)路徑了,將云通訊給的測(cè)試主賬號(hào),主賬號(hào)Token,應(yīng)用ID填到這三個(gè)變量中。
3、創(chuàng)建sendMessage.html頁(yè)面(此處也沒(méi)做過(guò)多的安全過(guò)濾)
<span style="font-family: 'Microsoft YaHei'; font-size: 16px;"><!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Index</title> <script type="text/javascript" src="jquery.min.js"></script> </head> <body> <form action="reg.php" method="post"> 手機(jī)號(hào):<input type="text" name="tel" id="tel"><br> 驗(yàn)證碼:<input type="text" name="verify" id=""><span><button id="btn" type="button">免費(fèi)發(fā)送驗(yàn)證碼</button></span><br> <input type="submit" name="" value="注冊(cè)"> </form> <script type="text/javascript"> $('#btn').click(function(){ var tel = $.trim($('#tel').val()); $.post('SendTemplateSMS.php', {'tel':tel},function(res){ if (res) { alert('發(fā)送成功'); } else { alert('發(fā)送失敗'); } }); }); </script> </body> </html> </span>
4、輸入手機(jī)號(hào) 點(diǎn)擊免費(fèi)發(fā)送驗(yàn)證碼 ,查看發(fā)送成功了
5、在SendTemplateSMS.php文件里已經(jīng)寫好了手機(jī)號(hào)然后進(jìn)行處理的代碼
<span style="font-family: 'Microsoft YaHei'; font-size: 16px;"> $tel = $_POST['tel']; $res = sendTemplateSMS($tel, array($verify, 2),"1"); //$verify是所包含的verify.php文件里動(dòng)態(tài)生成的四位數(shù)字驗(yàn)證碼變量,生成時(shí)已將驗(yàn)證碼存于SESSION里 ,到提交驗(yàn)證碼時(shí)用于驗(yàn)證判斷 if ($res) { echo '1'; } else { echo '0'; } </span>
6、如果不出意外,手機(jī)會(huì)收到四位數(shù)字的驗(yàn)證碼,然后輸入驗(yàn)證碼,將其提交到reg.php文件
7、reg.php文件進(jìn)行驗(yàn)證碼正確與否進(jìn)行邏輯驗(yàn)證*(我這只是做實(shí)驗(yàn),所以沒(méi)做多少安全過(guò)濾處理)
<span style="font-family: 'Microsoft YaHei'; font-size: 16px;"><?php session_start(); $tel = $_POST['tel']; $ver = trim($_POST['verify']); if ( $ver == $_SESSION['verify']) { echo '驗(yàn)證碼正確'; } else { echo '驗(yàn)證碼有誤'; } ?> </span>
8、結(jié)果輸出驗(yàn)證碼正確
整個(gè)驗(yàn)證碼驗(yàn)證邏輯就這么簡(jiǎn)單,希望能夠幫助大家順利的完成短信驗(yàn)證碼驗(yàn)證實(shí)現(xiàn)注冊(cè)功能。
相關(guān)文章
深入理解 PHP7 中全新的 zval 容器和引用計(jì)數(shù)機(jī)制
這篇文章主要介紹了 PHP7 中全新的 zval 容器和引用計(jì)數(shù)機(jī)制的相關(guān)知識(shí), 主要側(cè)重于解釋新 zval 容器中的引用計(jì)數(shù)機(jī)制。需要的朋友可以參考下2018-10-10laravel使用數(shù)據(jù)庫(kù)測(cè)試注意事項(xiàng)
這篇文章主要介紹了laravel使用數(shù)據(jù)庫(kù)測(cè)試注意事項(xiàng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04destoon實(shí)現(xiàn)VIP排名一直在前面排序的方法
這篇文章主要介紹了destoon實(shí)現(xiàn)VIP排名一直在前面排序的方法,在destoon開發(fā)中非常實(shí)用,需要的朋友可以參考下2014-08-08詳解Grunt插件之LiveReload實(shí)現(xiàn)頁(yè)面自動(dòng)刷新(兩種方案)
這篇文章主要通過(guò)兩種方案詳解Grunt插件之LiveReload實(shí)現(xiàn)頁(yè)面自動(dòng)刷新,需要的朋友可以參考下2015-07-072個(gè)Codeigniter文件批量上傳控制器寫法例子
這篇文章主要介紹了2個(gè)Codeigniter文件批量上傳控制器寫法例子,需要的朋友可以參考下2014-07-07ThinkPHP控制器間實(shí)現(xiàn)相互調(diào)用的方法
這篇文章主要介紹了ThinkPHP控制器間實(shí)現(xiàn)相互調(diào)用的方法,主要通過(guò)A()方法實(shí)現(xiàn)這一功能,可以有效的提高代碼的重復(fù)利用率,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10php數(shù)組查找函數(shù)in_array()、array_search()、array_key_exists()使用實(shí)例
這篇文章主要介紹了php數(shù)組查找函數(shù)in_array()、array_search()、array_key_exists()使用實(shí)例,需要的朋友可以參考下2014-04-04