需要用到的地方把短信接口放过来
用js调用的 改一下调用id 也就是改一下#mobile
<?php session_start(); header("Content-type:text/html; charset=UTF-8"); function Post($curlPost,$url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost); $return_str = curl_exec($curl); curl_close($curl); return $return_str; } function xml_to_array($xml){ $reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/"; if(preg_match_all($reg, $xml, $matches)){ $count = count($matches[0]); for($i = 0; $i < $count; $i++){ $subxml= $matches[2][$i]; $key = $matches[1][$i]; if(preg_match( $reg, $subxml )){ $arr[$key] = xml_to_array( $subxml ); }else{ $arr[$key] = $subxml; } } } return $arr; } function random($length = 6 , $numeric = 0) { PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); if($numeric) { $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1)); } else { $hash = ''; $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz'; $max = strlen($chars) - 1; for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } } return $hash; } $target = "http://106.ihuyi.cn/webservice/sms.php?method=Submit"; $mobile = $_POST['mobile']; $send_code = $_POST['send_code']; $mobile_code = random(4,1); if(empty($mobile)){ exit('手机号码不能为空'); } if(empty($_SESSION['send_code']) or $send_code!=$_SESSION['send_code']){ //防用户恶意请求 exit('请求超时,请刷新页面后重试'); } $post_data = "account=用户名&password=密码&mobile=".$mobile."&content=".rawurlencode("您的验证码是:".$mobile_code."。请不要把验证码泄露给其他人。"); //密码可以使用明文密码或使用32位MD5加密 $gets = xml_to_array(Post($post_data, $target)); if($gets['SubmitResult']['code']==2){ $_SESSION['mobile'] = $mobile; $_SESSION['mobile_code'] = $mobile_code; } echo $gets['SubmitResult']['msg']; ?>
<?php session_start(); if($_POST){ //echo '<pre>';print_r($_POST);print_r($_SESSION); if($_POST['mobile']!=$_SESSION['mobile'] or $_POST['mobile_code']!=$_SESSION['mobile_code'] or empty($_POST['mobile']) or empty($_POST['mobile_code'])){ exit('手机验证码输入错误。'); }else{ $_SESSION['mobile'] = ''; $_SESSION['mobile_code'] = ''; exit('注册成功。'); } } function random($length = 6 , $numeric = 0) { PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); if($numeric) { $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1)); } else { $hash = ''; $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz'; $max = strlen($chars) - 1; for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } } return $hash; } $_SESSION['send_code'] = random(6,1); ?> <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312" /> <title>demo</title> </head> <script type="text/javascript" src="jquery.js"></script> <script language="javascript"> function get_mobile_code(){ $.post('sms.php', {mobile:jQuery.trim($('#mobile').val()),send_code:<?php echo $_SESSION['send_code'];?>}, function(msg) { alert(jQuery.trim(unescape(msg))); if(msg=='提交成功'){ RemainTime(); } }); }; var iTime = 59; var Account; function RemainTime(){ document.getElementById('zphone').disabled = true; var iSecond,sSecond="",sTime=""; if (iTime >= 0){ iSecond = parseInt(iTime%60); iMinute = parseInt(iTime/60) if (iSecond >= 0){ if(iMinute>0){ sSecond = iMinute + "分" + iSecond + "秒"; }else{ sSecond = iSecond + "秒"; } } sTime=sSecond; if(iTime==0){ clearTimeout(Account); sTime='获取手机验证码'; iTime = 59; document.getElementById('zphone').disabled = false; }else{ Account = setTimeout("RemainTime()",1000); iTime=iTime-1; } }else{ sTime='没有倒计时'; } document.getElementById('zphone').value = sTime; } </script> <body> <form action="reg.php" method="post" name="formUser"> <table width="100%" border="0" align="left" cellpadding="5" cellspacing="3"> <tr> <td align="right">手机<td> <input id="mobile" name="mobile" type="text" size="25" class="inputBg" /><span style="color:#FF0000"> *</span> <input id="zphone" type="button" value=" 获取手机验证码 " onClick="get_mobile_code();"></td> </tr> <tr> <td align="right">验证码</td> <td><input type="text" size="8" name="mobile_code" class="inputBg" /></td> </tr> <tr> <td align="right"></td> <td><input type="submit" value=" 注册 " class="button"></td> </tr> </table> </form> </body> </html> jquery.js
/*! jQuery v@1.8.1 jquery.com | jquery.org/license */