【源碼分享】php怎樣接入短信驗(yàn)證碼,對接短信驗(yàn)證碼接口

今天公司提出一個需求,要在現(xiàn)有項目上收集注冊用戶的真實(shí)手機(jī)號,由于之前沒有接觸過這一塊,只能尋求度娘的幫助,經(jīng)過一天的努力,終于完成了,現(xiàn)整理記錄下已備查閱。

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、昔陽ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的昔陽網(wǎng)站制作公司

1 解決方案:在注冊時要求用戶進(jìn)行手機(jī)驗(yàn)證。
2 尋找短信供應(yīng)商:由于對這一塊不是太懂,大學(xué)同學(xué)推薦一家他們公司在用的給我。
3 代碼實(shí)現(xiàn)
首先到互億無線短信平臺注冊一個帳號,并登錄到用戶中心,選驗(yàn)證碼模塊下載接口文檔,文檔下載下來是一個壓縮包,我們項目是用PHP開發(fā)的,直接找到目錄DEMO/PHP/OOP

提示:開始之前先看一下官方對接說明文檔

第一步 把前端html代碼整合到注冊頁面
html 代碼:

<form action="index.php" method="post" name="formUser">
<table width="100%" border="0" align="left" cellpadding="5" cellspacing="3">
<tr>
<td align="right">手機(jī)</td>
<td>
<input id="mobile" name="mobile" type="text" size="25" class="inputBg" /><span style="color:#FF0000"> *</span>
</td>
</tr>
<tr>
<td align="right">驗(yàn)證碼</td>
<td>
<input type="text" name="gd_code" class="inputBg" size="25" id="gd_code">
<span> <img src="code.php" onClick="javascript:this.src=this.src+'?date='+Date();"></span>
</td>
</tr>
<tr>
<td align="right">手機(jī)驗(yàn)證碼</td>
<td align="left">
<input type="text" name="mobile_code" class="inputBg" size="25" />
<input id="zphone" type="button" value=" 獲取手機(jī)驗(yàn)證碼 " style="width: 120px" onClick="get_mobile_code()">
</td>
</tr>
<tr>
<td align="right"></td>
<td><input type="submit" value=" 注冊 " class="button"></td>
</tr>
</table>
</form>

javascript代碼

<script language="javascript">
function get_mobile_code(){
$.post('reg.php?send_sms=1', {mobile:jQuery.trim($('#mobile').val()),send_code:$("#gd_code").val()}, function(msg) {
alert(jQuery.trim(unescape(msg)));
if(msg =='提交成功'){
RemainTime();
}else{
// location.reload();
}
});
};
var iTime = 59;
var Account;
function RemainTime(){
document.getElementById('zphone').disabled = true;
var iSecond,sSecond="",sTime="";
if (iTime >= 0){
iSecond = parseInt(iTime%60);
iMinute = parseInt(iTime/60)
if (iSecond >= 0){
if(iMinute>0){
sSecond = iMinute + "分" + iSecond + "秒";
}else{
sSecond = iSecond + "秒";
}
}
sTime=sSecond;
if(iTime==0){
clearTimeout(Account);
sTime='獲取手機(jī)驗(yàn)證碼';
iTime = 59;
document.getElementById('zphone').disabled = false;
}else{
Account = setTimeout("RemainTime()",1000);
iTime=iTime-1;
}
}else{
sTime='沒有倒計時';
}
document.getElementById('zphone').value = sTime;
}

</script>

第一步 把后端php代碼整合到程序邏輯中。
注意:把sms.class.php、code.php、config.ihuyi.php、font.ttf這四個文件要上傳到項目路徑下

session_start();
date_default_timezone_set("PRC");

if(!empty($_GET['send_sms'])){
include('sms.class.php');
$sms = new ihuyi_sms;
$sms -> send_sms($_POST['mobile'],$_POST['send_code']);
die;
}

if($_POST){
if($_POST['mobile']!=$_SESSION['mobile'] or $_POST['mobile_code']!=$_SESSION['mobile_code'] or empty($_POST['mobile']) or empty($_POST['mobile_code'])){
exit('手機(jī)驗(yàn)證碼輸入錯誤。');
}else{
$_SESSION['mobile'] = '';
$_SESSION['mobile_code'] = '';

    //注冊邏輯

    exit('注冊成功。');
}

}

網(wǎng)頁標(biāo)題:【源碼分享】php怎樣接入短信驗(yàn)證碼,對接短信驗(yàn)證碼接口
鏈接地址:http://bm7419.com/article40/jdgpho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站制作、建站公司、搜索引擎優(yōu)化、網(wǎng)站排名、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)