当前位置: 首页 > news >正文

php发送短信验证码完成注册功能

短信验证码注册,很简单,用的是  云通讯的短信系统(收费的,不过有测试的api给我们做测试)。好了,不多说,进入正题。

 1、收到到云通讯短信系统注册账号,然后下载他们的封装好的短信api接口代码,解压,然后找到CCPRestSDK.php文件SendTemplateSMS.php文件,将其拉到根目录文件夹里。

2、打开SendTemplateSMS.php文件,首先注意include_once('./CCPRestSDK.php'),千万别包含错路径了,将云通讯给的测试主账号,主账号Token,应用ID填到这三个变量中。

3、创建sendMessage.html页面(此处也没做过多的安全过滤)

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<span style= "font-family: 'Microsoft YaHei'; font-size: 16px;" ><!DOCTYPE HTML>
<html>
<head>
<meta http-equiv= "Content-Type"  content= "text/html; charset=utf-8"  />
<title>Index</title>
<script type= "text/javascript"  src= "jquery.min.js" ></script>
</head>
    
<body>
   <form action= "reg.php"  method= "post" >
     手机号:<input type= "text"  name= "tel"  id= "tel" ><br>
     验证码:<input type= "text"  name= "verify"  id= "" ><span><button id= "btn"  type= "button" >免费发送验证码</button></span><br>
     <input type= "submit"  name= ""  value= "注册" >
   </form>
   <script type= "text/javascript" >
     $( '#btn' ).click( function (){
       var  tel = $.trim($( '#tel' ).val());
       $.post( 'SendTemplateSMS.php' , { 'tel' :tel}, function (res){
         if  (res) {
           alert( '发送成功' );
         else  {
           alert( '发送失败' );
         }
       });
     });
   </script>
</body>
</html>
</span>

4、输入手机号  点击免费发送验证码  ,查看发送成功了

 5、在SendTemplateSMS.php文件里已经写好了手机号然后进行处理的代码

?

1
2
3
4
5
6
7
8
<span style= "font-family: 'Microsoft YaHei'; font-size: 16px;" >   $tel  $_POST [ 'tel' ];
   $res  = sendTemplateSMS( $tel array ( $verify , 2), "1" );   //$verify是所包含的verify.php文件里动态生成的四位数字验证码变量,生成时已将验证码存于SESSION里 ,到提交验证码时用于验证判断
   if  ( $res ) {
     echo  '1' ;
   else  {
     echo  '0' ;
   }
</span>

6、如果不出意外,手机会收到四位数字的验证码,然后输入验证码,将其提交到reg.php文件

7、reg.php文件进行验证码正确与否进行逻辑验证*(我这只是做实验,所以没做多少安全过滤处理)

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<span style= "font-family: 'Microsoft YaHei'; font-size: 16px;" ><?php
   session_start();
  
   $tel  $_POST [ 'tel' ];
   $ver  = trim( $_POST [ 'verify' ]);
  
   if  $ver  ==  $_SESSION [ 'verify' ]) {
     echo  '验证码正确' ;
   else  {
     echo  '验证码有误' ;
   }
  
  ?>
</span>

8、结果输出验证码正确

 整个验证码验证逻辑就这么简单,希望能够帮助大家顺利的完成短信验证码验证实现注册功能。


本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1837957

相关文章:

  • Struts2国际化-getText()方法
  • WDS部署服务之二镜像导入
  • 20170118修改商品流水
  • 如何轻松运维,你是救火队员还是工程师?
  • CentOS6.7 mysql 主从配置
  • Zookeeper的zoo.cfg的配置
  • 编写一个简单通用的makefile
  • ORA-00119: invalid specification for system parameter REMOTE_LISTENER
  • bootstrap-水平表单
  • MYSQL数据库字符编码设置
  • 网站测试自动化系统—数据驱动测试
  • LeetCode169. Majority Element C语言
  • CCNP综合实验2
  • *1 计算机基础和操作系统基础及几大协议
  • 没有ARM开发板一样移植uboot并用SKYEYE仿真
  • 07.Android之多媒体问题
  • 30天自制操作系统-2
  • Angular 4.x 动态创建组件
  • Create React App 使用
  • css系列之关于字体的事
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • js算法-归并排序(merge_sort)
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • React Native移动开发实战-3-实现页面间的数据传递
  • 从setTimeout-setInterval看JS线程
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 搞机器学习要哪些技能
  • 关于Java中分层中遇到的一些问题
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 简单实现一个textarea自适应高度
  • 经典排序算法及其 Java 实现
  • 码农张的Bug人生 - 见面之礼
  • 强力优化Rancher k8s中国区的使用体验
  • 如何在GitHub上创建个人博客
  • 使用 @font-face
  • 通过git安装npm私有模块
  • 消息队列系列二(IOT中消息队列的应用)
  • 栈实现走出迷宫(C++)
  • FaaS 的简单实践
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • # include “ “ 和 # include < >两者的区别
  • #考研#计算机文化知识1(局域网及网络互联)
  • $.each()与$(selector).each()
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (SpringBoot)第二章:Spring创建和使用
  • (排序详解之 堆排序)
  • (一一四)第九章编程练习
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)Linux下编译安装log4cxx
  • .a文件和.so文件
  • .cn根服务器被攻击之后
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET LINQ 通常分 Syntax Query 和Syntax Method