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>
check.js
//检测电话号码是否正确
function check_mobile(tel){
var tel=mobile.replace(/^\s*|\s*$/g,'');
var length=tel.length;
if (length==0)
{
alert('手机号码不能为空...');
$('#Submit').attr('disabled','disabled');
return;
}
$a=preg_match('/^((1[3|4|5|8])[0-9]{9})$/',tel);
if ($a)
{
$('#Submit').attr('disabled','');
return;
}
else{
alert('手机号码格式不正确请重新输入...');
$('#Submit').attr('disabled','dosabled');
return;
} } //检测密码
function check_password(password){
var password=password.replace(/^\s*|\s*$/g,'');
var length=password.length;
if (length==0)
{
alert('密码不能为空...')
$('#Submit').attr('disabled','disabled');
return;
}
} //检测确认密码
function check_conform_password(p2){
var p1=$('#password').val();
var p2=$('#conform_password').val();
if (p2!=p1)
{
alert('两次输入密码不一致...');
$('#Submit').attr('disabled','disabled');
return;
}
else{
$('#Submit').attr('disabled','');
return;
}
} //选中复选框
//function check_box(){
//
//}
////检查用户名
//function check_username(username){
// alert(username);
// exit;
// var username=username.replace(/^\s*|\s*$/g,'');
// var length=username.length;
// if (length==0)//用户名为空的时候
// {
// $('#username_notice').html('用户名不能为空');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// else if (length<2)
// {
// $('#username_notice').html('用户名位大于2位的');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// else if (length>4)
// {
// $('#username_notice').html('用户名不能大于!');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// else{
// $('#username_notice').html('请继续填写');
// $('#Submit').attr('disabled','');
// return;
// }
// //正则匹配中文名字/[\x{4e00}-\x{9fa5}]+/u
// $a=preg_match('/^[a-zA-Z][a-zA-Z0-9]\w{2,19}$/',username);
// if($a) {
// $('#username_notice').html('姓名正确请继续');
// $('#Submit').attr('disabled','');
// return;
// }
// else{
// $('#username_notice').html('姓名格式不正确');
// $('#Submit').attr('disabled','dosabled');
// return;
// }
//
//
//}
//
////检测公司名称
//function check_company(company){
//// alert(company);
//// exit;
// var company=company.replace(/^\s*|\s*$/g,'');
// var clength=company.length;
//// alert(clength);
// if (clength==0)
// {
// $('#company_notice').html('公司名称不能为空');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// if (clength<7)
// {
// $('#company_notice').html('公司名称不能小于7个汉字');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// if (clength>20)
// {
// $('#company_notice').html('公司名称不能超过20个汉字');
// $('#Submit').attr('disabled','disabled');
// return;
// }
//
// $a=preg_match('/^[a-zA-Z][a-zA-Z0-9]\w{7,20}$/',company);
// if($a) {
// $('#company_notice').html('公司名称正确请继续');
// $('#Submit').attr('disabled','');
// return;
// }
// else{
// $('#company_notice').html('公司名称格式不正确');
// $('#Submit').attr('disabled','dosabled');
// return;
// }
//}
//
////检测城市
//function check_city(city){
//// alert(company);
//// exit;
// var city=city.replace(/^\s*|\s*$/g,'');
// var length=city.length;
//// alert(clength);
// if (length==0)
// {
// $('#city_notice').html('城市名称不能为空');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// if (clength<1)
// {
// $('#city_notice').html('城市名称不能小于1个汉字');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// if (clength>4)
// {
// $('#city_notice').html('公司名称不能超过4个汉字');
// $('#Submit').attr('disabled','disabled');
// return;
// }
//
// $a=preg_match('/^[a-zA-Z][a-zA-Z0-9]\w{2,4}$/',company);
// if($a) {
// $('#city_notice').html('城市名称正确请继续');
// $('#Submit').attr('disabled','');
// return;
// }
// else{
// $('#city_notice').html('城市名称格式不正确');
// $('#Submit').attr('disabled','dosabled');
// return;
// }
//}
//
////检测地址是否正确
//function check_address(address){
//// alert(company);
//// exit;
// var address=address.replace(/^\s*|\s*$/g,'');
// var length=address.length;
//// alert(clength);
// if (length==0)
// {
// $('#address_notice').html('地址不能为空');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// if (clength<2)
// {
// $('#address_notice').html('地址不能小于1个汉字');
// $('#Submit').attr('disabled','disabled');
// return;
// }
// if (clength>30)
// {
// $('#address_notice').html('地址不能超过30个汉字');
// $('#Submit').attr('disabled','disabled');
// return;
// }
//
// $a=preg_match('/^[a-zA-Z][a-zA-Z0-9]\w{1,30}$/',company);
// if($a) {
// $('#address_notice').html('地址正确请继续');
// $('#Submit').attr('disabled','');
// return;
// }
// else{
// $('#address_notice').html('地址格式不正确');
// $('#Submit').attr('disabled','dosabled');
// return;
// }
//}

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

  1. Android中注册获取验证码倒计时按钮

    public class CountDownTimerUtils extends CountDownTimer { private TextView mTextView; /** * @param t ...

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

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

  3. Web项目中手机注册短信验证码实现的全流程及代码

    最近在做只能净化器的后台用户管理系统,需要使用手机号进行注册,找了许久才大致了解了手机验证码实现流程,今天在此和大家分享一下. 我们使用的是榛子云短信平台, 官网地址:http://smsow.zhe ...

  4. Android Demo手机获取验证码

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

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

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

  6. 【转】android 安卓APP获取手机设备信息和手机号码的代码示例

    http://blog.csdn.net/changemyself/article/details/7421476 下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓 ...

  7. android 安卓APP获取手机设备信息和手机号码的代码示例

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

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

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

  9. atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结

    atitit.破解  拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4.  ...

随机推荐

  1. WHMCS系统API调用

    WHMCS:域名管理系统,现在网络上很多借助此系统Shadowsocks插件+ShadowsocksR多用户服务端进行VPN的售卖,能做到流量控制等. 在对接此系统的API时,我发现了很多功能都已经实 ...

  2. struts2 Advanced Learning

    catalog . 引言 . struts2的类型转换 . struts2的输入校验 . struts2的拦截器机制 . 使用struts2的Ajax支持 . struts2 OGNL表达式 . st ...

  3. Linux 下自解压文件的制作

    这个方法的灵感来自于 alipay 的安全控件安装,所以先感谢 alipay. 下面是经过我自己修改的自解压 shell 代码(嵌入式板子上是busybox提供的sh) #!/bin/sh # # T ...

  4. STM32F207和DM9161A的以太网实现方案

    摘要:电力抄表系统常通过网络采集和传输电网中的谐波等信息.本文提出了一种适合电力系统的网络设计方案.在STM32F207和DM9161A为核心的硬件平台上,完成了LwIP协议栈的移植,实现了远程终端和 ...

  5. Git分支学习简记

    简介 开始过了两遍Git的内容,第二天就已经忘记了分支(branch)的概念,开始还觉得不太用的到.然后又看了第二遍,才发现为什么大家说这个是Git里边极其重要的一个东西. 所谓branch,就类似于 ...

  6. Git工具:Widows下的使用(提交到Github)

    2016年12月9日17:07:07 Git工作原理 http://deweixu.me/2016/11/05/how-git-works/ 2016年12月1日14:25:23 ---------- ...

  7. TortoiseSVN 过滤文件(包括已提交和未提交)

    一:svn 设置过滤文件方式 1.选中需要过滤的文件夹或者文件---右键---TortoiseSVN---Add to Ignore list(如果不显示说明该目录已经被添加) 2.在当前工作区域 不 ...

  8. 多线程引发OutOfMemoryException

    现象: 内存是绝对没有问题的,3g内存,发生异常时,任务管理器里显示,可用内存还有1G多!不知道什么原因! int i=0; while ((i++) < 2000) { try { Threa ...

  9. PMD使用提醒

    1.注册登录后进入主界面,向右滑动出现侧滑栏 2.点击蓄水球进行每日目标设定 3.设置计时失败发送朋友圈内容 ~~~~~开始体验吧!!!

  10. jsf primefaces note

    对应cdi,inject的变量,必须使用getter才能访问的值. @Inject DateView dateView; dateView.getFromDate1() 这样是娶不到的: dateVi ...