曹え 5811 发布于:2019-03-22 13:44:02
不管是什么接口都只接收2个参数,一个是手机号,一个是验证码
session_start(); header('Content-Type: text/plain; charset=utf-8'); $mobile = $_POST['mobile']; // 获得手机号 $code = rand(1000,9999); // 随机验证码 $_SESSION['code'] = $code; $response = SmsDemo::sendSms($mobile,$code); // 发送短信
禁止重复发短信时间和次数
$code = rand(1000,9999); $_SESSION['code'] = $code; $smsok = $_COOKIE['smsok']; $smsnum = $_COOKIE['smsnum']; if(!$smsnum){ $num = 1; } else { $num = $smsnum; $num++; } if($smsok != $mobile || $num <=3){ // 下面放执行发短信的函数 $response = SmsDemo::sendSms($mobile,$code); // 发送短信api // 下面是保存本次发短信的时间和次数 $cookie_time = time()+120; setcookie('smsok', $mobile , $cookie_time); // 短信发送120秒 setcookie('smsnum', $num , time()*3600*24); // 今日发送次数 } else { echo '-1'; }
头部js
<script src="{$GLOBALS['WWW']}include/js/dyfrom.js" type="text/javascript"></script> <script type="text/javascript"> function postform(){ value=$("#user").val(); if(!dyfrom_null(value)||!dyfrom_max(value, 20)){ alert('用户名不能为空,并且不能大于20个字符');return false; } if(dyfrom_ajax("{$GLOBALS['WWW']}index.php?c=member&a=rules","user="+value)=='false'){ alert('用户名已被注册,请更换用户名');return false; } value=$("#pass1").val(); if(!dyfrom_null(value)){ alert('请输入密码');return false; } value=$("#pass2").val(); if(!dyfrom_null(value)||!(value==$("#pass1").val())){ alert('两次密码输入不同,请修改');return false; } value=$("#email").val(); if(!dyfrom_email(value)){ alert('请输入正确的email地址');return false; } value=$("#dz").val(); if(!dyfrom_null(value)){ alert('请填写地址');return false; } value=$("#dw").val(); if(!dyfrom_null(value)){ alert('请填写单位');return false; } value=$("#yzm").val(); value2=$("body").attr('rel'); if(value!=value2){ alert('验证码输入错误');return false; } return true; } </script>
html
<dl><dt>手机:</dt><dd style="width:auto;"><input name="sj" id="sj" type="text" class="inp" value="" style="width:200px;" /></dd><dd class="m"><a href="javascript:;" class="abtn" id="js-sms">发送验证码</a></dd></dl> <dl><dt>短信验证码:</dt><dd><input name="yzm" id="yzm" type="text" class="inp" value="" style="width:80px;"/></dd></dl>
底部js
<script> $(function(){ $('#js-sms').click(function(){ sj = $('#sj').val(); if(sj && dyfrom_mobile(sj)){ if(dyfrom_ajax("{$GLOBALS['WWW']}index.php?c=ajax&a=ismobile","mobile="+sj)=='false'){ alert('该手机号已经注册过!请直接登录或更换手机号!'); return false; } $('#js-sms').text('已发送').css('background-color','#ccc'); url = "http://13.jianku.com.cn/alisms/api_demo/SmsDemo.php"; str = dyfrom_ajax(url,"mobile="+sj); if(str=='-1'){ alert('发送失败,请稍后再试!'); $('#js-sms').text('发送验证码'); } else{ $('body').attr('rel',str); alert('验证码已发送到您的手机,请查收!'); $('#js-sms').text('发送验证码').css('background-color','#1F66A8'); } } else { alert('请填写正确的手机号!'); } }) }) </script>
ajax.php 添加函数
判断手机号是否注册过
// 手机号是否注册过 function ismobile(){ $mo=syDB('member_field')->findAll(array('sj'=>$this->syArgs("mobile",1))); if($mo){ echo 'false'; } else { echo 'true'; } }
登录后可以留言提问!