php代码:

<?php

require dirname(__FILE__).'/include/common.inc.php';//这是在cms2008下面做的测试

header("content-type:text/html; charset=utf-8;");

session_start();//开启缓存

if (isset($_SESSION['time']))//判断缓存时间

{

session_id();

$_SESSION['time'];

}

else

{

$_SESSION['time'] = date("Y-m-d H:i:s");

}

$_SESSION['mcode']=$_GET['mcode'];//将content的值保存在session中

////如果得到手机号

if($mobile) {

//  echo "2";//得到手机号

//  echo $_SESSION['mcode'];//测试得到的验证码

//  echo '<br/>';

if((strtotime($_SESSION['time'])+60)<time()) {//将获取的缓存时间转换成时间戳加上60秒后与当前时间比较,小于当前时间即为过期

session_destroy();

unset($_SESSION);

header('content-type:text/html; charset=utf-8;');

echo '<script>alert("验证码已过期,请重新获取!");</script>';

}

else{

$mcode=$_SESSION['mcode'];

$post_data = array();

$post_data['username'] = "test";//用户名

$post_data['password'] = "test";//密码

$post_data['mobile'] = $mobile;//手机号,多个号码以分号分隔,如:13407100000;13407100001;13407100002

$post_data['content'] = urlencode("您本次的验证码是:".$mcode);//内容,如为中文一定要使用一下urlencode函数

$post_data['extcode'] = "";//扩展号,可选

$post_data['senddate'] = "";//发送时间,格式:yyyy-MM-dd HH:mm:ss,可选

$post_data['batchID'] = "";//批次号,可选

$url='http://116.213.72.20/SMSHttpService/send.aspx';

$o="";

foreach ($post_data as $k=>$v)

{

$o.= "$k=".$v."&";

}

$post_data=substr($o,0,-1);

$this_header = array("content-type: application/x-www-form-urlencoded;charset=UTF-8");

$ch = curl_init();

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_HTTPHEADER,$this_header);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);//返回相应的标识,具体请参考我方提供的短信API文档

curl_close($ch);

//  echo $result;

}

}

?>

html代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<META NAME="Author" CONTENT="">

<META NAME="Keywords" CONTENT="">

<META NAME="Description" CONTENT="">

<script src="data:images/js/jquery.min.js"></script>

<script src="data:images/js/check.js"></script>

<script>

$(document).ready(function(){

$("#Submit").click(function get_mobile(){

var mcode=Math.round(Math.random()*10000);

$.get("index.php?mobile="+$("#mobile").val()+"&mcode="+mcode,function(data){

//          alert(data);

});

$("#yanzheng").click(function get_code(){

$.get("index.php?code="+$("#code").val(),function(data){

//          alert(mcode);

if (mcode==$("#code").val())

{

alert('验证码正确,请继续!');

}

else{

alert('验证码错误');

}

});

});

});

var test = {

node:null,

count:60,

start:function(){

//console.log(this.count);

if(this.count > 0){

this.node.innerHTML = this.count--;

var _this = this;

setTimeout(function(){

_this.start();

},1000);

}else{

this.node.removeAttribute("disabled");

this.node.innerHTML = "再次发送";

this.count = 60;

}

},

//初始化

init:function(node){

this.node = node;

this.node.setAttribute("disabled",true);

this.start();

}

};

var btn = document.getElementById("Submit");

btn.onclick = function(){

alert("验证信息会发送到"+$("#mobile").val());

test.init(btn);

};

});

</script>

</HEAD>

<BODY>

<p>手机号:<input type="text" name="mobile" value="" id="mobile" onblur="check_mobile(this.value)"/><span id="mobile_notice"></span></p>

<p>验证码:<input type="text" name="code" value="" id="code"/><button id="Submit">获取验证码</button></p>

<input type="submit" name="yanzheng" value="下一步" id="yanzheng" />

</BODY>

</HTML>

check.zip

PHP注册手机获取验证码代码的更多相关文章

  1. Android Demo手机获取验证码

    注册很多app或者网络账户的时候,经常需要手机获取验证码,来完成注册,那时年少,只是觉得手机获取验证码这件事儿很好玩,并没有关心太多,她是如何实现的,以及她背后的故事到底是什么样子的,现在小编接手的这 ...

  2. jquery 手机获取验证码计时

    html: <input type="text" class="codeText" id="txtverifycode" />  ...

  3. ajax实现手机获取验证码

    <script type="text/javascript"> var InterValObj; //timer变量,控制时间 var count = 60; //间隔 ...

  4. 手机注册获取验证码的PHP代码

    php代码 <?php require dirname(__FILE__).'/include/common.inc.php';//这是在cms2008下面做的测试 header("c ...

  5. jQuery实现的手机发送验证码倒计时效果代码分享

    这是一款基于jquery实现的手机发送验证码倒计时效果代码,可实现实时显示秒数倒计时的功能,还可实现对手机号码格式验证的功能,是一款常用的网站注册发送手机验证码特效代码. 效果描述:注册一个网站,当需 ...

  6. springMvc注册时图形验证码完整代码与详细步骤``````后续更新注册时对密码进行加密

      第一使用 画图软件制作图片 ,文件名就是验证码    ------用户的实体类 import java.util.Date; public class Member {    private in ...

  7. 获取验证码效果和后台代码(js+html+cs)

    客户端js+html代码 <script type="text/javascript"> var tcode = 0;//定时器返回代码 //获得验证码 functio ...

  8. day79:luffy:注册之对手机号的验证&实现基本的注册功能逻辑&点击获取验证码&redis

    目录 1.前端和后端对于手机号的验证 2.实现基本的注册功能-不包括验证码 3.点击获取验证码 4.解决登录不上Xadmin的bug 5.redis register.vue页面 <templa ...

  9. day80:luffy:短信sdk接入&点击获取验证码&注册功能的实现&Celery实现短信发送功能

    目录 1.短信sdk接入 2.前端点击获取验证码效果 3.注册后端接口实现 4.注册-前端 5.Celery 6.Celery完成短信发送功能 1.短信sdk接入 1.准备工作 1.下载云通讯相关的文 ...

随机推荐

  1. eclipse导入JDK源码

    前言:这件事情的重要性不言而喻,对于学习和观摩优秀的代码非常的有用,我喜欢想看什么代码都能 Ctrl+鼠标一点 就能够看到,不过这个不常操作,在这里小记一笔,以备后用.(完全是傻瓜式的记录,就是怕自己 ...

  2. 服务器间打通ssh无密钥

    1 打通无密钥 配置HDFS,首先就得把机器之间的无密钥配置上.我们这里为了方便,把机器之间的双向无密钥都配置上. (1)产生RSA密钥信息 ssh-keygen -t rsa 一路回车,直到产生一个 ...

  3. 无法使用内置管理员账户打开Microsoft Edge

    一.以管理员批准模式运行所有管理员 运行"gpedit.msc",打开本地组策略编辑器,然后依次打开"计算机配置→Windows 设置→安全设置→本地策略→安全选项&qu ...

  4. React子组件与父组件传值

    一 子组件向父组件传值 //子组件var Child = React.createClass({ render: function(){ return ( <div> 请输入邮箱:< ...

  5. django中自定义标签和过滤器

    想要实现自定义标签和过滤器需要进行准备工作: 准备(必需)工作: 1  在某个app下创建一个名为templatetags(必需,且包名不可变)的包.假设我们在名为polls的app下创建了一个tem ...

  6. avalon2学习教程13组件使用

    avalon2最引以为豪的东西是,终于有一套强大的类Web Component的组件系统.这个组件系统媲美于React的JSX,并且能更好地控制子组件的传参. avalon自诞生以来,就一直探索如何优 ...

  7. mysql 不允许连接

    错误提示: ERROR 1130: Host '192.168.1.1' is not allowed to connect to this MySQL server的解决方法: 1.改表法.可能是你 ...

  8. Jquery实现简单到计时功能(setTimeout,setInterval)

    要实现一个标签或者按钮进行5秒到计时,非常简单,直接上代码: 倒计时:<span id="timeSpan1" style="color:red;font-size ...

  9. HTTP请求之:PHP函数header常用功能

    1.页面重定向   当浏览器接受到头信息中的 Location: http://xxxx 后,就会自动跳转到 http://xxxx 指向的URL地址,这点有点类似用 js 写跳转.但是这个跳转只有浏 ...

  10. 4.Mybatis的输入映射(parameterType类型解析)

    前面提到过Mybatis可以对输入的参数进行映射,那么现在我们来看一下输入映射,关于输入映射大概可以分为几种情况来学习: 1.基本的类型 2.实体类 3.包装类 1.参数是基本的类型(int,Stri ...