首页 > cms建站系统 > 帝国cms

帝国7.0 7.2短信插件:手机验证码注册,手机验证码找回密码

发布时间:2016-1-27 12:11

如今手机验证码注册已经非常流行了,本插件就是实现帝国CMS利用手机验证码注册会员,通过手机验证码找回密码

短信接口集成说明

短信服务商:   http:/www.sms.com.cn

短信接口文档: /upload/news/201601/www.sms.com.cn/Sms/api.php

【手机注册】

1、增加5个拓展变量字段(都选择写入缓存)

rzzh     短信接口账号     (短信服务商账号,看上面服务商信息注册账号)

rzpw     短信接口密码     (短信服务商密码)

rznr     短信认证内容     (内容:手机注册认证码:[!--rzm--]   【签名】)

rznrq     短信认证内容     (内容:手机找回密码认证码:[!--rzm--]   【签名】)

rzkq     是否开启手机认证 (1 为开启 0为关闭)


2、增加数据表 phome_rz ,后台-执行SQL语句

REATE TABLE `[!db.pre!]rz` (
  `id` int(11) NOT NULL auto_increment,
  `bsm` varchar(255) NOT NULL,
  `rzm` varchar(255) NOT NULL,
  `sj` varchar(255) NOT NULL,
  `t` int(11) NOT NULL,
  `c` int(11) NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

增加数据表 phome_rzq ,后台-执行SQL语句

CREATE TABLE `[!db.pre!]rzq` (
  `id` int(11) NOT NULL auto_increment,
  `bsm` varchar(255) NOT NULL,
  `rzm` varchar(255) NOT NULL,
  `sj` varchar(255) NOT NULL,
  `t` int(11) NOT NULL,
  `c` int(11) NOT NULL,
  `username` char(20) NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

3、e/class/connect.php 增加函数(看函数文件.txt)


4、 e/member/doaction.php增加

elseif($enews=='RegSend')//重发激活邮件
      {
    DoRegSend($_POST);
      }
        下面增加
       elseif($enews=='Rzsj')//认证手机号码
      {
    $tel=$_GET['phone'];
    F_rzm($tel);
       }
       elseif($enews=='Rzsjq')//认证手机号码取回密码
      {
   $add=$_GET;
   F_rzmq($add);
      }

5. e/member/class/member_registerfun.php  增加

//验证附加表必填项
$mr['add_filepass']=ReturnTranFilepass();
$fid=GetMemberFormId($groupid);
$member_r=ReturnDoMemberF($fid,$add,$mr,0,$username);
        下面增加
//手机注册验证
if($public_r['add_rzkq'])
        { 
   $tel=$add['phone'];
   $rzm=$add['rzm'];
   C_sjrz($tel,$rzm);
        }

6. 修改 e/template/member/register.php 【1】

<tr> 
      <td height="25" bgcolor="#FFFFFF"> <div align='left'>邮箱</div></td>
      <td height="25" bgcolor="#FFFFFF"> <input name='email' type='text' id='email' maxlength='50'>
        *</td>
    </tr>

下面增加

<? $sjrz=1;?>
     <tr> 
      <td height="25" bgcolor="#FFFFFF"> <div align='left'>手机号码</div></td>
      <td height="25" bgcolor="#FFFFFF"> <input name='phone' type='text' id='phone' maxlength='50'>
        *</td>
    </tr>
<tr> 
      <td height="25" bgcolor="#FFFFFF"> <div align='left'>验证码</div></td>
      <td height="25" bgcolor="#FFFFFF"> <input name='rzm' type='text' id='rzm' maxlength='30'>
        *<input  type="button" style="font-size: 12px; height: 22px; line-height: 19px;" value="发送验证码" onclick="sendrzm()" id="sendag"  ></td>
    </tr>

7. 修改 e/template/member/register.php 【2】

<?php
require(ECMS_PATH.'e/template/incfile/footer.php');
?>

前面增加:

<SCRIPT language=javascript>
<!--
var secs = 120;
function sendrzm(){
     var tel=$("#phone").val();
     $.getJSON('/e/member/doaction.php?enews=Rzsj&phone=' + tel + '',
        function(data) {
            if(data.d=='2'){
    alert(data.n);
}else{
    document.userinfoform.sendag.disabled=true;
                for(i=1;i<=secs;i++) {
                 window.setTimeout("update(" + i + ")", i * 1000);
                }
}
            
        });
   
}
function update(num) {
 if(num == secs) {
 document.userinfoform.sendag.value ="重新发送验证码";
 document.userinfoform.sendag.disabled=false;
 }
else {
 printnr = secs-num;
 document.userinfoform.sendag.value = "(" + printnr +")重新发送验证码";
 }
}
//-->
</SCRIPT>

8. 修改 e/template/member/register.php 【3】

   头部增加jquery.js文件

   <script" width=100% src="/js/jquery.min-1.7.2.js"></script>

   复制/js/jquery.min-1.7.2.js   到根目录(包括文件夹)

9.修改会员表单 (后台-用户-会员管理-管理会员表单)


找到

<tr><td width='16%' height=25 bgcolor='ffffff'>手机</td><td bgcolor='ffffff'>[!--phone--]</td></tr>

改成:

<? if(!$sjrz){?> <tr><td width='16%' height=25 bgcolor='ffffff'>手机</td><td bgcolor='ffffff'>[!--phone--]</td></tr><? }?>

【手机找回密码】

1.覆盖 e/template/member/GetPassword.php

2.修改 e/member/class/member_actfun.php       

覆盖函数 SendGetPasswordEmail  查看SendGetPasswordEmail.txt

插件下载:

16css.com_20151229_sms.zip



标签:[!--infotagslink--]

您可能感兴趣的文章: