如何通过ajax使用阿里云php版短信通道实例
1个回答
展开全部
<?php
//处理ajax传输值的方法
//发送信息
function msg(){
include('include/api_sdk/aliyun-php-sdk-core/smsDemo.php');
$code = mt_rand(100000,999999);//随机6位数验证码
$tel = $_POST['tel'];//获取提交的电话号码
$accessKeyId = '你的accessKey';
$accessKeySecret = '你的accessSecret';
$m = sendSms($accessKeyId,$accessKeySecret,$tel,$code);
//获取对象--将数据存入session,为后面二次验证
$_SESSION['code'] = $code;
$_SESSION['tel'] = $tel;
echo $m->Code;
}
//提交表单后,二次验证
//手机注册
function reg_tel(){
$vercode = $_POST['vercode'];//获取提交的手机验证码
$tel = $_POST['mobile'];//获取提交的手机号码
if($tel==''){
message('请填写手机号再提交');
}
//对手机号进行二次验证---以防用户投机取巧,把手机号换成别的注册
if($tel!=$_SESSION['tel']){
message('两次填写手机号不同,请重新获取验证码');
}
//对手机验证码进行验证
if($vercode==$_SESSION['code']){
//成功验证
//填写逻辑代码
//进入下个阶段验证--身份验证
}else{
message('验证码已失效,请重新获取!');
}
}
?>
前台ajax代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>手机注册</title>
</head>
<body>
<div><img src="images/logo2.png"></div>
<form action="/index.php?c=wx_api&a=reg_tel" method="post">
<input type="text" id="mobile" name="mobile" value="" tabindex="10" placeholder="输入手机号码" />
<label id="mobile_error"></label>
<div>
<input name="vercode" type="text" placeholder="输入验证码">
<a href="javascript:;">获取验证码</a>
</div>
<label>
<input type="checkbox" value="checkbox" checked="checked">我已阅读并同意<a href="#">《用户注册协议》</a> </label>
<input type="submit" value="验证手机">
</form>
<!-- <a href="#"><i class="icon iconfont icon-weixin"></i>微信登录</a> -->
<script type="text/javascript" src="js/Validate.js"></script>
<script type="text/javascript" src="js/Validate.form.js"></script>
<script>
var times = 60;
function time_run(){
times--;
$(".hqyz").text(times+'s');
$("a.hqyz").attr("disabled", true);
if(times==0){
clearInterval(ref);
$(".hqyz").text('重获取验证码');
$("a.hqyz").attr("disabled", false);
}
}
$(document).ready(function(){
$(".hqyz").click(function(){
var tel = $("#mobile").val();
if(tel==''){
alert('请输入手机号码');return false;
}
if(!(/^1[34578]\d{9}$/.test(tel))){
alert("手机号码有误,请重填");
return false;
}
$.post("/index.php?a=msg&tel="+tel,function(d){
if(d=='OK'){
//发送成功,倒计时
ref = setInterval(function(){ time_run(); },1000);
}else{
alert("验证码发送失败,请重试~");
}
});
});
});
</script>
</body>
</html>
希望对你有帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询