腾讯云短信验证码发送demo

<?php

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="http://code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        var countdown=60;
        function settime(obj){
            //60秒倒计时
 if (countdown == 0){
                obj.removeAttribute("disabled");
                obj.value="发送短信验证码";
                countdown = 60;
                return;
            }else{
                obj.setAttribute("disabled", true);
                obj.value="重新发送(" + countdown + ")";
                countdown--;
            }
            setTimeout(function() {
                    settime(obj) }
                ,1000)
        }
        $(document).ready(function() {
            
            $("#yzmfs").click(function () {
            var randomnum=Math.floor(Math.random()*(9999-1000))+1000;
                //确保手机号不为空
 var mobile=$("#phone").val();
                if(mobile.length==0)
                {
                    alert('请输入手机号码!');
                    $("#phone").focus();
                    return false;
                }
                if(mobile.length!=11)
                {
                    alert('请输入11位手机号!');
                    $("#phone").focus();
                    return false;
                }
                var myreg = /^((1[3|4|5|8][0-9]{1})+\d{8})$/;
                if(!myreg.test(mobile))
                {
                    alert('请输入正确的手机号码!');
                    document.getElementById("phone").focus();
                    return false;
                }
                //点击发送短信验证码
 $.ajax({
                    async : false,
                    type: "post",
                    url: "code.php", //
 data: {"yzm": randomnum, 'yzmtel': $('#phone').val()},
                    success: function (data) {
                        //发送短信验证码
                           if(data=='Ok'){
                               
                                
                                $('#msg').val(randomnum);
                           }
                    }
                });
            })
           
        })
        function reg(){
                 var yzm=$("#yzm").val();
                 //alert(yzm);
                if(yzm.length==0)
                {
                    alert('请输入验证码!');
                    $("#yzm").focus();
                    return false;
                }
                if($("#yzm").val() != $("#msg").val()){
                     alert('验证码不正确!');
                    $("#yzm").focus();
                    return false;
                }
                return true;
         }
    </script>
</head>
<body>
<form action="check.php" method="post" onsubmit="return reg()">
    用户名:<input type="text" id="name" name="name"/><br>
    密码:<input type="password" id="pwd" name="pwd" /><br>
    手机号:<input type="text" id="phone" name="phone" /><br>
    
    <input id="msg" hidden name='msg'>
    <input type="text" id="yzm" name="yzm"><input type="button" id="yzmfs" value="发送短信验证码" onclick="settime(this)" /> <br>
    <input type="submit" id='register' name='register' value="注册" >
</form>
</body>
</html>
<?php
require_once 'vendor/autoload.php';
// 导入对应产品模块的client
use TencentCloud\Sms\V20210111\SmsClient;
// 导入要请求接口对应的Request类
use TencentCloud\Sms\V20210111\Models\SendSmsRequest;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Common\Credential;
// 导入可选配置类
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;

try {
    /* 必要步骤:
     * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
     * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
     * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
     * 以免泄露密钥对危及你的财产安全。
     * CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/

    $cred = new Credential("AKIDFB6n1zXBFZduBr70RorAHR9BxUyBopHA", "UjV0GMDpPoEUMSY27tUIrBI9k4HJDWZr");
    //$cred = new Credential(getenv("TENCENTCLOUD_SECRET_ID"), getenv("TENCENTCLOUD_SECRET_KEY"));

 
   $yzm=$_POST['yzm'];
   $mobile=$_POST['yzmtel'];

   //var_dump($yzm);exit();
    // 实例化要请求产品(以sms为例)的client对象,clientProfile是可选的
    // 第二个参数是地域信息,可以直接填写字符串 ap-guangzhou,或者引用预设的常量
    $client = new SmsClient($cred, "ap-guangzhou");

    // 实例化一个 sms 发送短信请求对象,每个接口都会对应一个request对象。
    $req = new SendSmsRequest();
    
    /* 填充请求参数,这里request对象的成员变量即对应接口的入参
     * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
     * 基本类型的设置:
     * 帮助链接:
     * 短信控制台: https://console.cloud.tencent.com/smsv2
     * sms helper: https://cloud.tencent.com/document/product/382/3773 */

    /* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 */
    $req->SmsSdkAppId = "1400638888";
    /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 [短信控制台] 查看 */
    $req->SignName = "短信签名";
    /* 短信码号扩展号: 默认未开通,如需开通请联系 [sms helper] */
    $req->ExtendCode = "";
    /* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
     * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
    $mobile="+86".$mobile;
    $req->PhoneNumberSet = array($mobile);
    /* 国际/港澳台短信 SenderId: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */
    $req->SenderId = "";
    /* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
    $req->SessionContext = "【短信签名】您的注册验证码:{1},如非本人操作,请忽略本短信!";
    /* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
    $req->TemplateId = "1308888";
    /* 模板参数: 若无模板参数,则设置为空*/
    $req->TemplateParamSet = array($yzm);


    // 通过client对象调用SendSms方法发起请求。注意请求方法名与请求对象是对应的
    // 返回的resp是一个SendSmsResponse类的实例,与请求对象对应
    $resp = $client->SendSms($req);
    echo $resp->SendStatusSet[0]->Code;
    // 输出json格式的字符串回包
    //print_r($resp->toJsonString());

    // 也可以取出单个值。
    // 您可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
    //print_r($resp->TotalCount);
}
catch(TencentCloudSDKException $e) {
    echo $e;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linlinlove2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值