短信验证注册

370 阅读1分钟

 reg.php

<?php
引入sdk文件
include("../config/mobphp/alisms/aliyun/api_demo/SmsDemo.php");
判断提交表单后url
if($_GET[action]=="add"){

    $rand = $_POST['rand'];获取验证码

    if($_SESSION['rand'] == $rand){//判断session里的验证码是否和传过来的相同
        echo '成功';
    }else{Audit_alert("短信验证码不正确,返回重试!","reg.php");}

}
?>

<input type="text" class="inp1" name="t8" autocomplete="off" id="phone" disableautocomplete onBlur="motCheck()">//手机号输入框

<span class="s2" id="ts8">请填写您的手机号码</span>

 <li class="l1"><span>请填写验证码</span></li>

<input type="text" class="inp1" id="rand" name="rand" value=""/>//验证码输入框

    <input type="button" class="" id="btn" value="免费获取验证码" onclick="settime(this),send()" />


<script type="text/javascript">

        function send(){
            $.ajax({
                url:"dx.php",
                type:"POST",
                data:"phone="+$("#phone").val(),
                success:function(msg){
                    alert('请注意查收');
                }
            });
        }
        var countdown=60;
        function settime(val) { 
            if (countdown == 0) { 
                val.removeAttribute("disabled"); 
                val.value="免费获取验证码"; 
                countdown = 60; 
            } else { 
                val.setAttribute("disabled", true); 
                val.value="重新发送(" + countdown + ")"; 
                countdown--; 
            } 
            setTimeout(function() { 
                settime(val) },1000)} 
</script> 

dx.php

<?php
include("../config/mobphp/alisms/aliyun/api_demo/SmsDemo.php");引入sdk文件

$fs = $_POST['phone'];获取手机号
$rand = rand(100000,999999);生成验证码

if($fs){判断手机号是否存在
    session_start();开启session
    if($_SESSION['rand']){判断是否有数值
        unset($_SESSION['rand']);有的话销毁
    }
    $_SESSION['rand'] = $rand;存储session
    $con = [
    'phone' =>$fs,
    'rand' =>$rand
    ];数组
    $regponse = SmsDemo::sendSms($con);类传值
    $result = object_array($response);
}
?>

 smsdemo.php

 public static function sendSms($con) {
        
        // 初始化SendSmsRequest实例用于设置发送短信的参数
        $request = new SendSmsRequest();
        
        //可选-启用https协议
        //$request->setProtocol("https");

        // 必填,设置短信接收号码
        $request->setPhoneNumbers($con['phone']);

        // 必填,设置签名名称,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
        $request->setSignName("签名");

        // 必填,设置模板CODE,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
        $request->setTemplateCode("模板");

        // 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项
        $request->setTemplateParam(json_encode(array(  // 短信模板中字段的值
            "code"=>$con['rand']
        ), JSON_UNESCAPED_UNICODE));

        // 发起访问请求
        $acsResponse = static::getAcsClient()->getAcsResponse($request);

        return $acsResponse;
    }

————————————————

版权声明:本文为CSDN博主「我因代码而疯狂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:blog.csdn.net/qq_39476250…