【源码分享】php怎样接入短信验证码,对接短信验证码接口

今天公司提出一个需求,要在现有项目上收集注册用户的真实手机号,由于之前没有接触过这一块,只能寻求度娘的帮助,经过一天的努力,终于完成了,现整理记录下已备查阅。

1 解决方案:在注册时要求用户进行手机验证。
2 寻找短信供应商:由于对这一块不是太懂,大学同学推荐一家他们公司在用的给我。
3 代码实现
首先到互亿无线短信平台注册一个帐号,并登录到用户中心,选验证码模块下载接口文档,文档下载下来是一个压缩包,我们项目是用PHP开发的,直接找到目录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">手机</td>
<td>
<input id="mobile" name="mobile" type="text" size="25" class="inputBg" /><span style="color:#FF0000"> *</span>
</td>
</tr>
<tr>
<td align="right">验证码</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">手机验证码</td>
<td align="left">
<input type="text" name="mobile_code" class="inputBg" size="25" />
<input id="zphone" type="button" value=" 获取手机验证码 " 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=‘获取手机验证码‘;
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(‘手机验证码输入错误。‘);
}else{
$_SESSION[‘mobile‘] = ‘‘;
$_SESSION[‘mobile_code‘] = ‘‘;

    //注册逻辑

    exit(‘注册成功。‘);
}

}

原文地址:http://blog.51cto.com/14024619/2305057

时间: 2024-11-07 09:07:33

【源码分享】php怎样接入短信验证码,对接短信验证码接口的相关文章

AppCan 移动应用开发项目源码分享:嗡嗡旅游App开发

开发者介绍:老家湖北巴东好山好水,神农溪.巴人河.三里城等都是旅游好去处.中秋节回了趟老家,看到家乡的原生态景色吸引了大批游客,由此萌发了想法:用移动技术开发一个App试水,把家乡景点介绍给更多的人.于是,耗时一个月的<嗡嗡旅游>应运而生,特此将项目源码分享给广大AppCan开发者. 项目实现功能 用户注册.登录,游记查看和发布,查看辖区内景区.酒店.交通.攻略等信息,内容收藏.评论和分享,查看地图,景区门票.酒店电话预定等. 项目使用插件 引导页 引导页3张图片采用的是全屏显示的slider

用户手机号获取验证码注册源码分享

叮~ 你的源码分享纯干货到了, 请注意查收! 用户手机号注册源码分享,首页获取验证码,调用阿里大鱼短信验证码,接口thinkphp5.2写的,可以判断手机号是否注册,短信发送是否成功. <!DOCTYPE html><html>        <head>                <meta charset="utf-8">                <meta name="viewport" cont

仿乐享微信源码分享,把你的生意做到微信里

99%的人不知道的微信秘密!微信里的商机.仿乐享微信源码分享,把你的生意做到微信里. WeiKuCMS  (微酷CMS)功能特点:人工客服新功能正式上线!粉丝行为分析.渠道二维码生成.二维码折扣,微菜单,微统计,会员卡签到,微会员,刮刮卡,大转盘,优惠券,积分兑换,微官网,砸金蛋,微调研,微投票,微相册,微商城,微团购,微留言,微喜帖,商家入驻,微门店,微餐饮,微酒店,微教育,微物业,微医疗,微信墙,微花店,微美容,微生活. 微信公共账号轻松接入,无限自定义图文回复.欢迎您的加入! 微酷WeiK

JEECG社区 一个微信教育网站案例源码分享

微信教育网站案例演示: http://t.cn/RvPgLcb 源码分享: http://pan.baidu.com/s/1cUImy 截图演示: JEECG社区 一个微信教育网站案例源码分享,布布扣,bubuko.com

Android开发之自己定义TabHost文字及背景(源码分享)

使用TabHost 能够在一个屏幕间进行不同版面的切换,而系统自带的tabhost界面较为朴素,我们应该怎样进行自己定义改动优化呢 MainActivity的源码 package com.dream.ledong; import android.app.TabActivity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.view.Gr

干货分享——android源码分享网站

干货分享--android源码分享网站 android源码应用分享站点,各种技术分支的源码都有,现在分享给大家 安卓源码服务专家 集合了大量的例子源码,总会找到你想要的 http://www.javaapk.com/ 泡在网上的日子 实时分享android最新的开源项目,大量的教程 http://www.jcodecraeer.com/ android的code4app--apkbus 大量的例子源码和android开发文档 http://d.apkbus.com/ 安卓巴士 http://ww

3D语音天气球(源码分享)——通过天气服务动态创建3D球

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3D语音天气球(源码分享)--创建可旋转的3D球 二:通过天气服务,从网络获取时实天气信息并动态生成"3D球" 三:Android语音服务和Unity的消息传递 四:Unity3D端和Android端的结合 关于项目的详细介绍和3D球的创建请看上面第一篇文章(重要) 今天主要讲解如何通过获取

Android项目源码分享

http://blog.csdn.net/gao_chun/article/details/47263063 Android项目源码分享 给大家分享几个Android开发项目源码,大部分功能相信可以在实战项目中直接使用,供大家下载学习,大部分项目是基于 Android Studio开发,IDE为Eclipse的童鞋可通过网上教程自行转换,这里就不多说了.有句话说,不贴墙纸的装修都是耍流氓,无源码无效果图的文章也算是耍流氓, ,那就直接上图吧.最近在整理GitHub,打算把一些以前做过的项目中部分

[DeviceOne开发]-土地销售项目源码分享

一.简介 这个是一个真实项目开源,虽然不是很花哨,但是中规中矩,小细节处理的也很好,非常值得参考和借鉴.里面的数据都缓存到本地,可以离线运行,但是调整一下代码,马上就可以和服务端完全对接.后续会有详细的文档介绍这个App. 二.效果图 三.源码分享 https://github.com/do-project/land_sell 四.讨论地址 http://bbs.deviceone.net/forum.php?mod=viewthread&tid=807&extra=page%3D1 五.

3D语音天气球(源码分享)——完结篇

开篇废话: 由于这篇文章是本系列最后一篇,有必要进行简单的回顾和思路整理. 这个程序是由两部分组成,Android端和Unity端: 1.Unity端负责3D球的创建,显示和旋转:3D语音天气球(源码分享)--创建可旋转的3D球 2.通过天气服务动态创建3D球:3D语音天气球(源码分享)--通过天气服务动态创建3D球 3.Android端使用第三方的语音服务来进行语音识别:3D语音天气球(源码分享)--在Unity中使用Android语音服务 4.Unity中加入Android项目:Unity中