短信驗證碼注冊,很簡單,用的是 雲通訊的短信系統(收費的,不過有測試的api給我們做測試)。好了,不多說,進入正題。
1、收到到雲通訊短信系統注冊賬號,然後下載他們的封裝好的短信api接口代碼,解壓,然後找到CCPRestSDK.php文件和SendTemplateSMS.php文件,將其拉到根目錄文件夾裡。
2、打開SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千萬別包含錯路徑了,將雲通訊給的測試主賬號,主賬號Token,應用ID填到這三個變量中。
3、創建sendMessage.html頁面(此處也沒做過多的安全過濾)
<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"> 手機號:<input type="text" name="tel" id="tel"><br> 驗證碼:<input type="text" name="verify" id=""><span><button id="btn" type="button">免費發送驗證碼</button></span><br> <input type="submit" name="" value="注冊"> </form> <script type="text/javascript"> $('#btn').click(function(){ var tel = $.trim($('#tel').val()); $.post('SendTemplateSMS.php', {'tel':tel},function(res){ if (res) { alert('發送成功'); } else { alert('發送失敗'); } }); }); </script> </body> </html> </span>
4、輸入手機號 點擊免費發送驗證碼 ,查看發送成功了
5、在SendTemplateSMS.php文件裡已經寫好了手機號然後進行處理的代碼
<span style="font-family: 'Microsoft YaHei'; font-size: 16px;"> $tel = $_POST['tel']; $res = sendTemplateSMS($tel, array($verify, 2),"1"); //$verify是所包含的verify.php文件裡動態生成的四位數字驗證碼變量,生成時已將驗證碼存於SESSION裡 ,到提交驗證碼時用於驗證判斷 if ($res) { echo '1'; } else { echo '0'; } </span>
6、如果不出意外,手機會收到四位數字的驗證碼,然後輸入驗證碼,將其提交到reg.php文件
7、reg.php文件進行驗證碼正確與否進行邏輯驗證*(我這只是做實驗,所以沒做多少安全過濾處理)
<span style="font-family: 'Microsoft YaHei'; font-size: 16px;"><?php session_start(); $tel = $_POST['tel']; $ver = trim($_POST['verify']); if ( $ver == $_SESSION['verify']) { echo '驗證碼正確'; } else { echo '驗證碼有誤'; } ?> </span>
8、結果輸出驗證碼正確
整個驗證碼驗證邏輯就這麼簡單,希望能夠幫助大家順利的完成短信驗證碼驗證實現注冊功能。