PHP短信验证功能

PHP阿里大鱼短信验证

第一步

登陆阿里大于注册账号,在用户管理中心创建应用,确定AppKEY和App Secret还有配置签名


第二步

在应用管理中选择SDK下载,或者直接点击http://download.csdn.net/detail/s371795639/9695983下载,免费的哦亲

把下载好的资源解压放到ThinkPHP\Library\Vendor目录下如图 


并不是所有的php文件都需要,就用如图所示Alidayu文件夹下那几个php文件,把Alidayu里面的php文件分别打开,在开始的一行添加代码(如果你下载的来自我发的链接,那就没必要添加这个代码了,因为我添加过了)

namespace Vendor\Alidayu;

目的是为了在调用的时候不至于引入失败

第三步

可以写HTML了

<div class="form-group">
    <div class="field field-icon-right">
        <input type="text" id="admin" class="input" name="admin" placeholder="用户名" data-validate="required:请填写用户名,length#>=5:用户长度不符合要求"  />
        <span class="icon icon-user"></span>
    </div>
</div>

<div class="form-group">
    <div class="field field-icon-right">
        <input id="mobile" type="tel" class="input" name="mobile" placeholder="手机号码" οnblur="checkmobile(this)"  />
        <span class="icon icon-mobile"></span>
    </div>
</div>

 <span class="x4" style="text-align: center;vertical-align: middle">
   <button id="sendmsg">获取验证码</button>
</span>

第四步

写入JQ代码(功能是,发送验证码后倒计时,并且POST传递后台,后台返回的数据0,1,2分别对应不同的功能)这段代码是参考别人的

<script >

    /*-------------------------------------------*/
    var InterValObj; //timer变量,控制时间
    var count = 60; //间隔函数,1秒执行
    var curCount;//当前剩余秒数
    var code = ""; //验证码
    var codeLength = 6;//验证码长度

    $(function () {$('#sendmsg').click(function () {$.ajax({type: "POST",
                url: "/User/folder/child/obtainyzm",
                data: "admin=" + $('#admin').val()+"&mobile="+$("#mobile").val() ,
                success: function (result) {if(result==0){curCount = count;
                       //设置button效果,开始计时
                       $("#sendmsg").css("background-color", "LightSkyBlue");
                       $("#sendmsg").attr("disabled", "true");
                       $("#sendmsg").val("获取" + curCount + "");
                       InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
                      // alert("验证码发送成功,请查收!");
                   }if(result==1){alert("用户名和手机号不匹配!");
                    }if(result==2){alert("用户名不存在!");
                    }},
                dataType: 'json'

            })})})function SetRemainTime() {if (curCount == 0) {window.clearInterval(InterValObj);//停止计时器
            $("#sendmsg").removeAttr("disabled");//启用按钮
            $("#sendmsg").css("background-color", "");
            $("#sendmsg").val("重发验证码");
            code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
        }else {curCount--;
            $("#sendmsg").val("获取" + curCount + "");
        }}
</script>

上面有两个参数admin和mobile分别代表用户名和手机号码。

第五步

写入功能代码

public function obtainyzm(){

    $mobile = $_POST['mobile'];//获取手机号码
    $admin =$_POST['admin'];//获取用户名

    $user = M('db_admin')->where(array('admin'=>$admin))->find();

    /************引入*************/
    Vendor('Alidayu.TopClient');
    Vendor('Alidayu.AlibabaAliqinFcSmsNumSendRequest');
    Vendor('Alidayu.ResultSet');
    Vendor('Alidayu.RequestCheckUtil');

    $c = new \Vendor\Alidayu\TopClient;
    $req = new \Vendor\Alidayu\AlibabaAliqinFcSmsNumSendRequest;

    /*************配置***************/
    $code = randCode(4);//随机验证码
    $c->appkey = '23******';
    $c->secretKey = '6f73a******************';
    $req->setSmsType("normal");
    $req->setSmsFreeSignName("xx的测试");
    $req->setSmsParam("{code:'$code'}");
    $req->setRecNum("$mobile");
    $req->setSmsTemplateCode("SMS_3******");

    if($user)
    {
        if($user['mobile'] == $mobile)
        {
            /*************发送验证码短信,并把验证码作为新密码保存到服务器上***************/
           //$c->execute($req);  //不要开启,开启后就会有短信到账,一次几分钱..在服务器上看新密码就好
            $newpwd['pwd'] = md5($code);
            D('db_admin')->where(array('admin'=>$user['admin']))->save($newpwd);
            $this->ajaxreturn(0);//用户名密码匹配
        }
        else
        {
            $this->ajaxreturn(1);//用户名和手机号不匹配
        }
    }
    else
    {
        $this->ajaxreturn(2); //用户名不存在
    }
    $this->display();
}//获取验证码

谢谢观看,有什么不懂的可以留言~



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31340.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发送短信验证码 API数据接口

1.前言 此接口发送短信验证码 短信模板 参数说明: 1449978 验证码为&#xff1a;{1}为您的登录验证码&#xff0c;请于{2}分钟内填写&#xff0c;如非本人操作&#xff0c;请忽略本短信。 1449979 验证码为&#xff1a;{1}&#xff0c;您正在登录&#xff0c;若非本人操作&…

为何语言学家乔姆斯基对ChatGPT持否定态度?

本文比较了乔姆斯基关于语言知识的本质、来源和使用的理论与 GPT 的不同&#xff0c; 说明了GPT没有可解释性。 2023年3月8日著名语言学家乔姆斯基与罗伯茨&#xff08;Ian Roberts&#xff09;、瓦图穆尔&#xff08;Jeffrey Watmull&#xff09;共同在《纽约时报》发表了题为…

如何更换您的Gmail地址

在许多情况下&#xff0c;您可能需要更改您的 Gmail 地址&#xff1a;您换了工作、结婚并改了名字&#xff0c;或者您在 2003 年设置的电子邮件地址突然看起来有点累了。无论出于何种原因&#xff0c;以下是更改 Gmail 地址并确保您在此过程中不会丢失任何重要数据的方法。 创…

将163邮箱改为使用outlook软件登录的切换步骤

效果图&#xff1a; 实际操作步骤如下&#xff1a; 1. 登录163.邮箱&#xff0c;如下是使用网页版登录&#xff1b;按照下面要求&#xff0c;扫描二维码 2. 找个txt文件&#xff0c;保存此 一次性密码&#xff0c;后面步骤有用。 3.检查当前状态&#xff1b; 两个都是“已开…

Becky!客户端Hotmail/outlook邮箱设置方法

Becky!邮箱客户端是一款非常简洁好用的邮件接收发送软件。最近本软件菜单增加了对中的支持&#xff0c;感谢作者的不懈努力。 日语版本下载地址&#xff1a; http://www.rimarts.co.jp/becky-j.htm 中文菜单版本&#xff1a; http://www.zhcn.org/wp-content/plugins/download…

Gmail,qq,hotmail,163,sina等邮箱的Smtp设置

Gmail SMTP 服务器&#xff1a;smtp.gmail.com&#xff0c; SSL&#xff1a;是&#xff0c;服务器端口&#xff1a;587&#xff0c;见下图&#xff1a; Hotmail SMTP 服务器&#xff1a;smtp.live.com&#xff0c; SSL&#xff1a;是&#xff0c;服务器端口&#xff1a;587&…

凭实力破圈的狄耐克,究竟藏了多少惊喜?

你是否曾经想象这样一个场景&#xff1a; 进入社区时&#xff0c;自动识别业主身份&#xff0c;精准放行并联动家中智能场景模式。人未到&#xff0c;智先行&#xff0c;提前营造极度舒适便捷的人居环境。 进入单元楼时&#xff0c;联动电梯等候&#xff0c;无需触碰按键&…

点燃创作灵感:Prompt 实践指南揭秘!让 ChatGPT 更智能的六种策略(上)

在和 ChatGPT 对话中&#xff0c;Prompt 提示词的选择&#xff0c;如果遵循以下六种策略&#xff0c;我们将获得更好、更符合要求的回答。 这些策略&#xff0c;后几种更适合在编程调用 ChatGPT API 时使用&#xff0c;不过也适用直接和 ChatGPT 对话&#xff0c;让它更好的理解…

英伟达EditGAN:为高精度百变而生

点击上方“机器学习与生成对抗网络”&#xff0c;关注星标 获取有趣、好玩的前沿干货&#xff01; 来源 机器之心报道 编辑 杜伟 在实现复杂且高精度图像编辑效果的同时&#xff0c;EditGAN 还能保持较高的图像质量和对象身份&#xff0c;英伟达在图像处理领域果然「出手不凡」…

英伟达把P图软件GAN了

晓查 发自 凹非寺量子位 报道 | 公众号 QbitAI 英伟达的最新AI工具又让网友用户们激动了。 “我已经等不及了&#xff01;” 一位网友在看完演示视频后表示。 对于“手残党”来说&#xff0c;英伟达的EditGAN简直就是零基础P图神器。 能够高质量、高精细度地对图像进行修改&…

英伟达NVIDIA GPU 架构介绍

一、NVIDIA GPU的架构演变历史和基本概念 截止2021年&#xff0c;发布时间离我们最近的8种NVIDIA GPU微架构是&#xff1a; Tesla (特斯拉) Fermi&#xff08;费米&#xff09; Kepler&#xff08;开普勒&#xff09; Maxwell&#xff08;麦克斯韦&#xff09; Pascal&#x…

英伟达 GPU 架构简史

英伟达 GPU 架构简史 尽管近年来 Nvidia GPU 确实更频繁地成为新闻&#xff0c;但它们绝不是新事物。事实上&#xff0c;多年来&#xff0c;Nvidia GPU 已经进行了多次迭代&#xff0c;GPU 架构也取得了进步。因此&#xff0c;让我们回顾一下最近的历史&#xff0c;以了解 GPU…

英伟达创始人CEO黄仁勋:一个事实是,拥有一个可以完美执行的简单想法,有时候比拥有一个你的公司无法执行的宏伟想法更好 | 英伟达:地球上最重要的公司之一

英伟达创始人&CEO黄仁勋:一个事实是,拥有一个可以完美执行的简单想法,有时候比拥有一个你的公司无法执行的宏伟想法更好 文章目录 英伟达创始人&CEO黄仁勋:一个事实是,拥有一个可以完美执行的简单想法,有时候比拥有一个你的公司无法执行的宏伟想法更好英伟达公司…

英伟达突破万亿美元市值,创始人黄仁勋分享创业心得

你知道全球第一家市值突破万亿美元的芯片公司是哪一家吗&#xff1f;它的创始人又是怎样的一个人呢&#xff1f;今天我们就来聊聊英伟达和黄仁勋的故事。 —————————————————————————————— 英伟达&#xff08;NVIDIA Corporation&#xff09;&a…

不愁失业!英伟达 CEO 黄仁勋:“AI 让每个人都能成为程序员”

整理 | 朱珂欣 出品 | CSDN程序人生&#xff08;ID&#xff1a;coder_life&#xff09; 你是否想过&#xff0c;AI 可以帮你圆梦程序员&#xff1f; 早些年&#xff0c;大家或许对此存在疑惑&#xff0c;但近来 AI 编程工具的涌现和升级&#xff0c;这题的答案或许是——“y…

关于英伟达数字人文章的致歉和说明

大家好&#xff0c;昨天我们发布的一篇英伟达数字人新进展的文章&#xff0c;引发了较大范围的关注和讨论。经过我们的复核及英伟达官方最新确认&#xff0c;这篇文章存在不严谨和失当之处&#xff0c;特此进行说明和致歉。 一、说明一下我们的错误。 今日英伟达官方确认&#…

元宇宙大比拼:英伟达Nvidia,Facebook,iwemeta

还是那个熟悉的黄色厨房&#xff0c;还是那身立领的黑皮衣&#xff0c;在11月9日下午4点&#xff0c;黄仁勋带着他的元宇宙概念开启了英伟达GTC 2021大会。 在长达1小时30分钟的新品发布会中&#xff0c;黄仁勋重磅发布了英伟达最先进的Omniverse Avatar平台&#xff0c;这是一…

英伟达首席科学家:深度学习硬件的过去、现在和未来

作者&#xff5c;Bill Dally 翻译&#xff5c;胡燕君、沈佳丽、贾川 过去十年是深度学习的“黄金十年”&#xff0c;它彻底改变了人类的工作和娱乐方式&#xff0c;并且广泛应用到医疗、教育、产品设计等各行各业&#xff0c;而这一切离不开计算硬件的进步&#xff0c;特别是GP…

英伟达的这款GPU太强了!

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 今年 3 月 21 日 - 24 日举办的 NVIDIA GTC 2022 大会可谓是亮点十足。NVIDIA 不仅一口气更新了 60 多个 SDK 应用程序&#xff0c;继续加大在 Omniverse、机器人平台、自动驾驶和量子计算等…

英伟达创始人出生 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 2 月 17 日&#xff0c;在 1996 年的今天&#xff0c;IBM 的超级计算机“深蓝”首次挑战卡斯帕罗夫落败。“深蓝”首次挑战虽然最终败北&#xff0c;但却赢得了…