ThinkPHP5结合云之讯短信验证简单案例

微信小程序 手机号+验证码登录 thinkphp5(短信宝) wxml <!--pages/logins/logins.wxml--> <view class="container"> <view class="title">登录</view> <form catchsubmit="login"> <view class="inputView"> <input class="inputText" placeholder="请输入手机号" name="phone 阅读详情

ThinkPHP5结合云之讯短信验证简单案例

总体思路:

我这里以用户注册短信验证分析:
       在用户输入正确的手机号码点击注册按钮时,使用Ajax发送一个我们手动生成的验证码和手机号码一起发送到云之讯的服务后台接口,之后你的手机就会收到我们手动生成的验证码,在第一个Ajax返回成功后再发送Ajax到我们的ThinkPHP后台,同时带上用户注册输入的验证码和我们手动生成的验证码还有手机号码一起验证这两个验证码是否相同,相同就验证通过,不同就提示输入的验证码不正确。

流程如下图:
在这里插入图片描述


开发步骤:

  1. 注册和登录云之讯官网,新用户好像有体验余额。

  2. 创建模板
    在这里插入图片描述

  3. 下载SDK文件
    在这里插入图片描述

  4. 将下载的SDK文件整合到ThinkPHP项目中
    在这里插入图片描述

  5. 打开Send.php文件,配置云之讯接口参数
    在这里插入图片描述
    在这里插入图片描述
    相关参数一定要一一对应。

  6. 编写测试代码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>云之讯短信验证测试</title>
<script src="/public/__STATIC__/layui/jquery-3.4.0.min.js"></script>
</head>
<body>
	测试手机号:<input type="text" name="phone" id="phone">
	手机验证码:<input type="text" name="yzm" id="yzm">
	<input type="hidden" name="back_yzm" id="back_yzm">
	<button id="getcode">点击获取验证码</button>
	<button id="zhuce">注册</button>
</body>
<script type="text/javascript">
  $(function(){
        //注册操作
        $("#zhuce").click(function(){
    	    $.ajax({
               url:'{:url("/index/Zhuce/dozhuce")}',
               data:{'phone':$("#phone").val(),'back_yzm':$("#back_yzm").val(),'yzm':$('#yzm').val()},
               type:"POST",
               success:function(data){
                  alert(data)
               }
           })
        })
        //获取手机验证码
      $("#getcode").click(function(){
           $.ajax({
               url:'{:url("/index/Zhuce/getcode")}',
               data:{'phone':$("#phone").val()},
               type:"GET",
               success:function(data){
                 $("#back_yzm").val(data.back_yzm)
               	 console.log(data)
               	 alert("验证码已发送到你的手机,请验证!")
               }
           })
      })
  })
</script>
</html>

前端界面如下:
在这里插入图片描述
后台代码:

<?php
namespace app\index\controller;
use think\Controller;
use sms\Send;   //引用云之讯SDK文件

class Zhuce 
{

   public function zhuce_view(){

       return view('zhece/zhuce_view');

   }
  
   public function getcode(){
   	   $phone = $_GET['phone'];
        //生成六位数的随机验证码
   	    $authnum=null;
        srand((double)microtime()*1000000);//create a random number feed.
        $ychar="0,1,2,3,4,5,6,7,8,9";
        $list=explode(",",$ychar);
        for($i=0;$i<6;$i++){
            $randnum=rand(0,9); // 10+26;
            $authnum.=$list[$randnum];
        }

        //发送该验证码和手机号到云之讯后台
        $send = new Send();
        $pin=$authnum;
        $phone=$phone;
        $send->SendSms($pin,$phone);

        //返回该验证码到前端,用于注册时校验
        $data = ['back_yzm' => $authnum, 'status' => '1'];
        return json($data);
   }

   public function dozhuce(){
   	
   	    $phone = $_POST['phone'];
   	    $yzm = $_POST['yzm'];
   	    $back_yzm = $_POST['back_yzm'];
         
         //验证码校对
   	    if($yzm==$back_yzm){
   	    	//可以做注册操作
   	    	return "注册成功";
   	    }else{
   	    	return "验证码不正确";
   	    }
   }
}

发送手机验证码短信:
在这里插入图片描述

注意:以上代码用于测试,我这里就没有做严谨的逻辑规范,只是编写大概逻辑流程代码


如果其他配置没问题的话,基本上可以进行简单的手机短信验证功能了。 END!!

注:如有缺陷或不足请反馈,我及时纠正,谢谢!!

笔记 2020-09-09

ThinkPHP5 实现短信验证码注册功能 在现在这个短信通知泛滥的年代,干啥都要短信验证码,短信验证码平台也是各种各样,参差不齐的。也不知道哪个好,哪个赖。刚开始的事后就入了几个坑,这里推荐用云之讯的吧,速度还不错,延迟没有,还送10块钱(100多条吧,测试够用了)。基本概念就不说了,下面直接进入正题吧。 1.注册。 2.进入到:开发者控制台-&amp;amp;gt;短信-&amp;amp;gt;产品总览,记录下右下角的api接口中的AppID,Account Sid,... 阅读详情

相关推荐

thinkphp5阿里云SDK短信验证

一。 先去阿里云下载短信服务SDK包。 最好在百度搜索一下 有老版本的。新版本不会玩… 二。目录结构是这样的,自行改目录名为随意,我改成了aliyun,方便记,初始名好像是ali-sdk,如果不是,可能下载的是新版本 三。 下载的这个包不需要改。 放到vendor里。 在application里的公共类common里写代码如下。 注释有必填项,填你自己阿里云的key和签名。 代码不需要改...

weixin_44602772的博客 1026

thinkphp 身份证验证,手机号验证

【代码】thinkphp 身份证验证,手机号验证。

weixin_46196270的博客 867

thinkphp手机短信验证.zip

1、新建一张数据表,数据结构已经在资源里面;2将里面的资源存放在tp框架的第三方库(extend)里面;3调用里面的方法。轻松加愉快的解决这一问题。

最完整的php验证手机号码

最完整的php验证手机号码: 移动:134、135、136、137、138、139、150、151、152、157、158、159、182、183、184、187、188、178(4G)、147(上网卡); 联通:130、131、132、155、156、185、186、176(4G)、145(上网卡); 电信:133、153、180、181、189 、177(4G); 卫星通信:134

海阳之新's blog 4183

云之讯发送短信接口

将下载的资源导入然后调用//载入ucpass类 require_once('lib/Ucpaas.class.php'); //初始化必填 $options['accountsid']='自己的accountsid'; $options['token']='自己的token'; //初始化 $options必填 $ucpass = new Ucpaas($options); //开发者账号信息查询默认为json或xml header("Content-Type:text/html;charset=utf-8"); //短信验证码(模板短信),默认以65个汉字(同65个英文)为一条(可容纳字数受您应用名称占用字符影响),超过长度短信平台将会自动分割为多条发送。分割后的多条短信将按照具体占用条数计费。 // $appId = "f16a02d81f50424da501ffc6f1eeedcc"; // $to = "17600545058"; // $templateId = "234929"; // $param=rand(1000,9999); $appId = "自己的appId"; $to = 13641283851; $templateId = "templateId"; $code = rand(1000,9999); $param=$code.',5'; $aa = json_decode($ucpass->templateSMS($appId,$to,$templateId,$param)); print_r(''); print_r($aa->resp); print_r('');

云之讯网关引入文档

云之讯短信网关引入文档PHP WEB应用网关

thinkphp5.1使用云之讯

下载云之讯SDK http://docs.ucpaas.com/doku.php?id=sms_sdk 解压 只要lib下的Ucpaas.class.php文件,修改名字为Ucpaas.php,放到如下位置: 添加命名空间,其他的不用修改 /** * Created by PhpStorm. * User: 17839 * Date: 2020/3/21 * Time: 21:12 */ namespace sms; class Ucpaas { //API请求地址 co.

jxm的博客 413

NR/5G - On demand SI

NR中系统消息如MIB -可用于无线帧同步等,SIB1 -小区物理信道公共配置等,是驻留一个小区所必需获得的信息,这类系统信息小区是进行周期性广播。 在SI的配置中,系统消息分为BroadCasting和non-BroadCasting,BroadCasting类系统消息基站也是周期性进行广播的,而non-BroadCasting类系统消息则是通过一种on-demand的方式,即如果需要读取这类系统消息,那么UE需要先发送请求给基站,基站响应UE之后,再下发系统消息。 ...

6775

云之讯---短信接收验证码

1.首先,先去注册,登陆后下载自己的SDK 文件内容如下 有三个php一个html 2.下载了SDK先去读取文档内容 进行查找自己的 accountsid(开发者控制台首页上的Account Sid)token(开发者控制台首页上的Auth Token)appid(应用的ID,可在开发者控制台内的短信产品下查看)templateid(模板id) 3.我用的TP5框架 如果根据文...

weixin_30487201的博客 696

13-单片机模块化程序: 单片机AT指令配置模块程序模板(非阻塞版)

资料源码:https://gitee.com/yang456/OpenProgrammingModuleForMCU.git 点击加入群聊【单片机,物联网,上位机】: 说明1:知识从未如此性感。 烂程序员关心的是代码,好程序员关心的是数据结构和它们之间的关系! 说明2:学的是思想,而非程序!此代码思路适用于所有的单片机。 说明3:学会以后,下面的代码可能会跟你一辈子! 说明4:这一系列文章是为大幅度裁剪本人博客文章!使博客文章更有条理。便于推其它教程! 拷贝这两个文件到自己的工程 ..

杨奉武的博客 1280

单细胞测序中pseudo bulk差异分析的实战指南与审稿人应对策略

本文提供了单细胞测序中pseudo bulk差异分析的完整实战指南,旨在应对审稿人对样本量统计效力的质疑。文章详细解析了从数据聚合、使用DESeq2进行差异分析,到与单细胞水平结果进行交叉验证的全流程,并给出了应对常见问题与撰写回复的策略,帮助研究者提升结论的稳健性与说服力。

weixin_29214199的博客 817

发送短信验证码

tp5中发送短信验证码没有集成到vendor的目录下,当时我用的开发环境中没有vendor目录就在我们自己的项目下自己创建了一个common文件云之讯验证码 在项目中创建一个common文件 将云之讯中的UCpass.php文件放在common中 在要用的地方在调用 榕联验证码 在项目中创建一个common文件 将云之讯中的CCPRestSmsSDK.php文件放在common中 在要用的地方在调用

Besny1009的博客 776

LLaMA Factory多卡微调的实战教程(持续更新)

本文主要介绍了LLaMA Factory多卡微调的实战教程(持续更新),希望对学习大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 配置环境 2.1 安装虚拟环境 2.2 安装依赖库 2.3 模型选型与下载 2.4 配置多卡环境 3. 运行代码 3.1 构建训练数据 3.2 修改配置文件 3.3 微调 3.3.1 zero3微调 3.3.2 启动API 3.3.3 模型测试

herosunly的博客 25万+

ThinkPHP整合短信通知功能

1.使用的“云之讯”云通讯的接口,注册,登录。 地址:http://www.ucpaas.com/ 2. 3.    4. 5.按规范与实际需求,填写相应的信息,注意要审核通过! --------------------------------------------------------------------------------------------------------------...

weixin_34261415的博客 248

Golang内存管理:GC调优实战案例

在Golang编程中,内存管理是一个非常重要的方面。良好的内存管理可以提高程序的性能和稳定性,而GC(垃圾回收)调优则是优化内存管理的关键手段。本文的目的就是通过实际案例,深入讲解Golang中GC调优的方法和技巧,让读者能够在实际项目中更好地进行内存管理和性能优化。范围涵盖了从核心概念的解释到具体代码实现和调优过程的详细分析。本文首先会介绍一些相关的术语和核心概念,让读者对Golang内存管理和GC有一个基本的认识。然后通过故事引入的方式,更加形象地解释核心概念及其相互关系。

AI Agent Harness Engineering 1118

【ITS模型】基于MATLAB的ITS宽带短波信道模型的建模和仿真

1.软件版本 MATLAB2010b 2.本算法理论知识 对短波信道建模具有里程碑意义的是沃特森在1970年发表的一篇文章,文章中提出了一种静态模型,并在大气中进行了实验验证。 此静态模型可以描述为高斯散射增益抽头延迟线模型,即Watterson模型。 Watterson信道模型是经典的窄带短波信道模型,在这个模型中,信道衰落是瑞利幅度分布,而在每种传播模式中多普勒扩展的功率谱满足高斯分布。Watterson模型没有定义延时扩展的形状,认为各个多径传输模式中不存在延时扩展。其...

FPGA/MATLAB学习教程/源码/项目合作开发 2757

基于ThinkPHP5与Layui的PHP后台管理框架源码下载 - 快速开发利器

一款基于ThinkPHP5.0与Layui构建的通用型PHP后台管理系统,支持快速开发与多模块集成,适用于各类网站项目。

htzss1990的博客 448

Valgrind 从入门到精通:内存调试和性能分析

Valgrind 提供了强大的 API,允许开发者编写自定义的检查工具。通过扩展 Valgrind,可以针对特定场景实现更精准的检测。

大模型大数据攻城狮的专栏 1217

thinkphp5 实现短信注册验证功能

思路:先注册一个短信验证平台(注册地址:https://s1.chanyoo.net/registers.aspx)六块钱一百条,够测试用了,获取api接口,设置参数,然后请求接口,留意的地方,模版得按照官网给你的,否则不能通过,模版有好多个,找合适自己的,支持post和get,我是测试的时候用get,如果账号密码申请到了,可以直接使用我的接口,测试通过噢 public function M...

哇咔咔 1610

总结个人关于雷达样式的见解(脉内脉间调制)

概述 雷达有各种各样的脉内脉间调制样式,对于雷达的设计者来说,不外乎三个目的: 1、增加雷达性能,如提高测距精度,增大侦察距离等; 2、雷达的工作机制决定雷达必须采用此种样式的调制,如有些SAR雷达为保证径向测距精度,需要使用脉内宽带调制信号; 3、降低雷达被电子战装备截获的概率,也就是LPI设计。 对于雷达对抗方,则只会观察到信号存在脉内及脉间的调制。对于一般的雷达信号,通常只采用脉内调制,脉间频率调制,脉间PRI调制。 脉间调制类型 1、PD雷达的脉间特征 雷达进行脉间调制的主要是PRI..

年糕的博客 3万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

thinkphp6 手机短信验证码发送服务封装和使用

写入公共文件 tp>app>common.php 记得改一下自己注册的账号密码 <?php // 这是系统自动生成的公共文件 if(!function_exists('phone_cache')) { function phone_cache($tel) { //生成随机数,就是要发送的验证码 $sumber=rand(1111,9999); $statusStr = array( ....

qq_66313178的博客 1146

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

thinkphp5调用验证码并校验是否正确的方法整理

thinkphp5调用验证并验证的方法整理thinkphp验证码路径login页面login控制器的check方法 thinkphp验证码路径 http://app.thinkphpwu.com/captcha login页面 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="renderer" content="webkit|ie-comp|ie-st

徊忆羽菲 575

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

手机验证码发送(ThinkPHP)

一、当框架如下时 ThinkPHP |--demo 目录     |--Public   目录 #css  js 图片文件     |--Apps     目录 #项目的文件名 |--Home 目录 #前台目录    |--Controllers #控制器    |--View #模板    |--Model #数据模型 |--Admin 目录 #后台的目录

maidina的博客 3188

thinkphp5 接入腾讯短信验证

1.腾讯云短信功能开通获取 AppID sign(签名内容) templateID(模板Id)SecretID SecretKey 2.https://cloud.tencent.com/document/product/382/43195#.E5.8F.91.E9.80.81.E7.9F.AD.E4.BF.A1 PHPSDK git clone https://github.com/tencentcloud/tencentcloud-sdk-php 克隆下sdk文...

weixin_41202009的博客 1823
上一篇: ERP系统维护的心得,需要的工作技能
下一篇: Python实现AD用户账号解锁小案例
cyj.com
博客等级 码龄6年 26粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值