帝国cms7.0/7.2/GBK/UTF8手机验证码注册,手机验证码找回密码 免费分享
用手机通过验证码注册会员,找回密码。
【手机注册】
1.增加5个拓展变量字段(都选择写入缓存)
1
rzzh 短信接口账号 (短信服务商账号,看上面服务商信息注册账号)
2
rzpw 短信接口密码 (短信服务商密码)
3
rznr 短信认证内容 (内容:手机注册认证码:[!--rzm--] 【签名】)
4
rznrq 短信认证内容 (内容:手机找回密码认证码:[!--rzm--] 【签名】)
5
rzkq 是否开启手机认证 (1 为开启 0为关闭)
2.增加数据表 phome_rz ,后台-执行SQL语句
1
CREATE TABLE `[!db.pre!]rz` (
2
`id` int(11) NOT NULL auto_increment,
3
`bsm` varchar(255) NOT NULL,
4
`rzm` varchar(255) NOT NULL,
5
`sj` varchar(255) NOT NULL,
6
`t` int(11) NOT NULL,
7
`c` int(11) NOT NULL,
8
KEY `id` (`id`)
9
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
增加数据表 phome_rzq ,后台-执行SQL语句
01
CREATE TABLE `[!db.pre!]rzq` (
02
`id` int(11) NOT NULL auto_increment,
03
`bsm` varchar(255) NOT NULL,
04
`rzm` varchar(255) NOT NULL,
05
`sj` varchar(255) NOT NULL,
06
`t` int(11) NOT NULL,
07
`c` int(11) NOT NULL,
08
`username` char(20) NOT NULL,
09
KEY `id` (`id`)
10
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
3.e/class/connect.php 增加函数(看函数文件.txt)
4. e/member/doaction.php增加
01
elseif($enews=='RegSend')//重发激活邮件
02
{
03
DoRegSend($_POST);
04
}
05
06
下面增加
07
08
elseif($enews=='Rzsj')//认证手机号码
09
{
10
$tel=$_GET['phone'];
11
F_rzm($tel);
12
}
13
elseif($enews=='Rzsjq')//认证手机号码取回密码
14
{
15
$add=$_GET;
16
F_rzmq($add);
17
}
5. e/member/class/member_registerfun.php 增加
01
//验证附加表必填项
02
$mr['add_filepass']=ReturnTranFilepass();
03
$fid=GetMemberFormId($groupid);
04
$member_r=ReturnDoMemberF($fid,$add,$mr,0,$username);
05
下面增加
06
//手机注册验证
07
if($public_r['add_rzkq'])
08
{
09
$tel=$add['phone'];
10
$rzm=$add['rzm'];
11
C_sjrz($tel,$rzm);
12
}
6. 修改 e/template/member/register.php
01
<tr>
02
<td height="25" bgcolor="#FFFFFF"> <div align='left'>邮箱</div></td>
03
<td height="25" bgcolor="#FFFFFF"> <input name='email' type='text' id='email' maxlength='50'>
04
*</td>
05
</tr>
06
下面增加
07
<? $sjrz=1;?>
08
<tr>
09
<td height="25" bgcolor="#FFFFFF"> <div align='left'>手机号码</div></td>
10
<td height="25" bgcolor="#FFFFFF"> <input name='phone' type='text' id='phone' maxlength='50'>
11
*</td>
12
</tr>
13
<tr>
14
<td height="25" bgcolor="#FFFFFF"> <div align='left'>验证码</div></td>
15
<td height="25" bgcolor="#FFFFFF"> <input name='rzm' type='text' id='rzm' maxlength='30'>
16
*<input type="button" style="font-size: 12px; height: 22px; line-height: 19px;" value="发送验证码" id="sendag" ></td>
17
</tr>
7. 修改 e/template/member/register.php
<?php
require(ECMS_PATH.'e/template/incfile/footer.php');
?>
前面增加
01
<SCRIPT language=javascript>
02
<!--
03
var secs = 120;
04
function sendrzm(){
05
var tel=$("#phone").val();
06
$.getJSON('/e/member/doaction.php?enews=Rzsj&phone=' + tel + '',
07
function(data) {
08
if(data.d=='2'){
09
alert(data.n);
10
}else{
11
document.userinfoform.sendag.disabled=true;
12
for(i=1;i<=secs;i++) {
13
window.setTimeout("update(" + i + ")", i * 1000);
14
}
15
}
16
17
});
18
19
}
20
function update(num) {
21
if(num == secs) {
22
document.userinfoform.sendag.value ="重新发送验证码";
23
document.userinfoform.sendag.disabled=false;
24
}
25
else {
26
printnr = secs-num;
27
document.userinfoform.sendag.value = "(" + printnr +")重新发送验证码";
28
}
29
}
30
//-->
31
</SCRIPT>
8. 修改 e/template/member/register.php 【3】
头部增加jquery.js文件
<script 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>
改成
1
<? 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