美文网首页
2018-10-19【插件分享】PHP对接短信功能,短信验证码

2018-10-19【插件分享】PHP对接短信功能,短信验证码

作者: 胖胖王321 | 来源:发表于2018-10-19 10:21 被阅读0次

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

    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>&nbsp;<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('注册成功。');

    }

    }

    相关文章

      网友评论

          本文标题:2018-10-19【插件分享】PHP对接短信功能,短信验证码

          本文链接:https://www.haomeiwen.com/subject/rccyzftx.html