首页站内杂志技术文摘
文章内容页

帝国CMS二次开发会员审核之手机验证功能

  • 作者:美文苑
  • 来源: 原创
  • 发表于2022-01-26 22:00:58
  • 被阅读0
  • 帝国会员审核之手机验证功能
    发下我用手机验证的方法吧。大家一起学些了。

    我的手机接口用的是移动梦网的,其他的我也试过。都差不多。我的接口文件放在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行左右吧。自己对照着看了在加入
    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.             } 
    红色部分为验证页面,页面如下/e/member/EditInfo/jihuo.php,这个路径,这个用户名
    1. <?php 
    2. $url="<a href=../../../>首页</a>&nbsp;>&nbsp;<a href=../cp/>控制面板</a>&nbsp;>&nbsp;修改资料"
    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
    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. $sql = $empire->query("update fc_enewsmember set checked=1 where userid='{$userid}'"); 
    26. echo "<script>alert('激活成功!');window.location.href='/e/member/login/index.php';</script>"
    27.  
    28. if($phone== $hl_phone && $sryzm!=$yzm_b && $updata<3) 
    29. $sql = $empire->query("update fc_enewsmemberadd set updata=updata+1 where userid='{$userid}'"); 
    30.  
    31.  
    32. $jihui=2-$updata; 
    33. echo $jihui; 
    34. echo "<script>alert('手机验证码输入错误!您还有{$jihui}次机会。');window.location.href='/e/member/EditInfo/jihuo.php?yzm={$yzm}&phone={$phone}';</script>"
    35. echo $updata; 
    36. else 
    37. echo "<script>alert('您输入的信息有误!');window.location.href='/e/member/register/index.php?groupid=1';</script>"
    38. db_close(); 
    39. $empire=null
    40. ?> 
    手机验证只有三次机会,自己在这个表里面_enewsmemberadd增加,updata字段。

    下回在发手机找回密码功能。当输入用户名和手机号码对的情况下,将密码发送到手机上。

    表达不怎么清楚,有需要的可以单独私聊。
    【审核人:站长】

        标题:帝国CMS二次开发会员审核之手机验证功能

        本文链接:https://www.meiweny.cn/zazhi/zhongwangjiaocheng/31.html

        赞一下

        深度阅读

        • 您也可以注册成为美文苑的作者,发表您的原创作品、分享您的心情!

        阅读记录

          关注美文苑