帝国cms会员发送手机验证并通过审核功能

我的手机接口用的是移动梦网的,其他的我也试过。都差不多。我的接口文件放在e/class目录下面。

首先在会员注册页面e/template/member/register.php下,在几个随机6位数的变量,如果你觉的验证码6位不够,可以修改。
 
$reg=rand(100000,999999);//生成随机6位数
$reg_a=base64_encode($reg);//随机6位数加密
 
 
然后在会员注册表单里面加入
手机号字段:phome;
验证码字段:yzm,将他的value="$reg_a"
 
然后打开e/class/user.php大概613行左右吧。自己对照着看了在加入
折叠PHP 代码
  1. //邮箱激活  
  2. if($checked==0&&$public_r['regacttype']==1)  
  3. {  
  4. include('../class/qmemberfun.php');  
  5. SendActUserEmail($userid,$username,$email);  
  6. }  
  7. //审核  
  8. if($checked==0)  
  9. {  
  10. $phone=$_POST[phone];  
  11. $yzm=$_POST[yzm];  
  12. $CONTENT=base64_decode($yzm);  
  13. // 梦网短信平台  
  14. include_once('fasong/Client.php');  
  15. $smsInfo['server_url'] = 'http://ws.montnets.com:9002/MWGate/wmgw.asmx?wsdl';  
  16. $smsInfo['user_name'] = '梦网用户名';  
  17. $smsInfo['password'] = '梦网用户密码';  
  18. $smsInfo['pszSubPort'] = '*';  
  19. $content = "你注册的某某平台验证码为{$CONTENT}";  
  20. $mobiles = array($phone);  
  21. $sms = new Client($smsInfo['server_url'],$smsInfo['user_name'],$smsInfo['password']);  
  22. $sms->pszSubPort = $smsInfo['pszSubPort'];  
  23. $sms->setOutgoingEncoding("utf-8");  
  24. $result = $sms->sendSMS($mobiles,$content);  
  25. $location="/e/member/EditInfo/jihuo.php?yzm=$yzm&phone=$phone";//这个页面注册后,跳转到激活页面,需要自己写。 printerror("RegisterSuccessCheck",$location,1);  
  26. }  
 
25行为验证页面,页面如下/e/member/EditInfo/jihuo.php,这个路径,这个用户名
折叠PHP 代码
  1. <?php  
  2. $url="<a href=../../../>首页</a> > <a href=../cp/>控制面板</a> > 修改资料";  
  3. require(ECMS_PATH.'/e/data/template/cp_1.php');  
  4. $phone=$_GET[phone];  
  5. $yzm=$_GET[yzm];  
  6.   
  7. //$reg_b=base64_decode($yzm);  
  8.   
  9. //echo $phone;  
  10. //echo $reg_b;  
  11. ?>  
  12. <table width="100%" border="0" cellspacing="0" cellpadding="0">  
  13. <tr>  
  14. <td height="50" bgcolor="#fff8ed" class="logo_tbs"><div class="logo_listclassname">注册会员激活</div></td>  
  15. </tr>  
  16. <tr>  
  17. <td class="logo_tbsxx"><br>  
  18. <table width='80%' border='0' align='center' cellpadding='3' cellspacing='1' bgcolor="#ffd5be" class="tableborder">  
  19.   
  20. <form name=useryanzheng method=post action="/e/escape/yanzheng.php"//这个为验证手机验证码的  
  21.   
  22. <input type=hidden name=yzm value=<?=$yzm?> />  
  23. <input type=hidden name=phone value=<?=$phone?> />  
  24. <tr>  
  25. <td width="25%" height="25" bgcolor="#FFFFFF">手机验证码:</td>  
  26. <td width="45%" height="25" bgcolor="#FFFFFF"><input type="text" name="sryzm" id="sryzm" /></td>  
  27. <td width="35%" bgcolor="#FFFFFF"><input type='submit' name='Submit' value='点击验证' /></td>  
  28. </tr>  
  29. </form>  
  30. </table>  
  31. <br></td>  
  32. </tr>  
  33. </table>  
  34. <?php  
  35. require(ECMS_PATH.'/e/data/template/cp_2.php');  
  36. ?>  
这个页面代码如下,路径什么的就说了/e/escape/yanzheng.php
折叠PHP 代码
  1. <?php  
  2. require("../class/connect.php");  
  3. require("../class/db_sql.php");  
  4. require("../class/q_functions.php");  
  5. require("../data/dbcache/class.php");  
  6. require LoadLang("pub/fun.php");  
  7. $link=db_connect();  
  8. $empire=new mysqlquery();  
  9.   
  10. $sryzm=$_POST[sryzm];  
  11. $phone=$_POST[phone];  
  12. $yzm=$_POST[yzm];  
  13. $yzm_b=base64_decode($yzm);  
  14.   
  15. $sql = $empire->query("select * from fc_enewsmemberadd where phone='{$phone}' and yzm='{$yzm}'");  
  16. $r=$empire->fetch($sql);  
  17. $hl_phone=$r[phone];  
  18. $hl_yzm=$r[yzm];  
  19. $userid=$r[userid];  
  20. $updata=$r[updata];  
  21.   
  22. //echo $sryzm."<br>".$phone."<br>".$yzm_b."<br>".$hl_phone."<br>";  
  23.   
  24. if($phone== $hl_phone && $sryzm==$yzm_b)  
  25. {  
  26. $sql = $empire->query("update fc_enewsmember set checked=1 where userid='{$userid}'");  
  27. echo "<script>alert('激活成功!');window.location.href='/e/member/login/index.php';</script>";  
  28. }  
  29.   
  30. if($phone== $hl_phone && $sryzm!=$yzm_b && $updata<3)  
  31. {  
  32. $sql = $empire->query("update fc_enewsmemberadd set updata=updata+1 where userid='{$userid}'");  
  33.   
  34.   
  35. $jihui=2-$updata;  
  36. echo $jihui;  
  37. echo "<script>alert('手机验证码输入错误!您还有{$jihui}次机会。');window.location.href='/e/member/EditInfo/jihuo.php?yzm={$yzm}&phone={$phone}';</script>";  
  38. echo $updata;  
  39. }  
  40. else  
  41. {  
  42. echo "<script>alert('您输入的信息有误!');window.location.href='/e/member/register/index.php?groupid=1';</script>";  
  43. }  
  44. db_close();  
  45. $empire=null;  
  46. ?>  
手机验证只有三次机会,自己在这个表里面_enewsmemberadd增加,updata字段。

 

Tags: 手机   验证   审核
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.