帝国CMS会员注册的时候,邮箱是必填项,但有时候,我们希望注册时不需要填写邮箱,但帝国CMS并没有给这样一个可以关闭的设置项。
通过本教程就可以实现取消邮箱必填。
以帝国CMS7.2为例:
打开 /e/member/class/member_registerfun.php 文件
找到

if(!chemail($email)){printerror('EmailFail','',1);}将其删除或者注释掉找到if($pr['regemailonly']){$num=$empire->gettotal("select count(*) as total from ".eReturnMemberTable()." where ".egetmf('email')."='$email' limit 1");if($num){printerror('ReEmailFail','',1);}}

 

将其删除或者注释掉
找到

if(!$username||!$password||!$email)

 

修改为

if(!$username||!$password)

 

 

=============================================

到这里为止在网上随处可以搜索到,但是还没完!

为什么这么说呢?因为用户可能编辑信息,那时候又变成必填了,还有管理员后台可能修改用户信息,那时也是必填的。接着改!

=============================================

取消会员编辑个人信息时邮箱必填

打开 /e/member/class/member_editinfofun.php

找到

        //邮箱        $email=trim($add['email']);        if(!$email||!chemail($email))        {                printerror("EmailFail","history.go(-1)",1);        }        $email=RepPostStr($email);

 

将其删除或者注释掉

找到

        //邮箱        $pr=$empire->fetch1("select regemailonly from {$dbtbpre}enewspublic limit 1");        if($pr['regemailonly'])        {                $num=$empire->gettotal("select count(*) as total from ".eReturnMemberTable()." where ".egetmf('email')."='$email' and ".egetmf('userid')."<>'$userid' limit 1");                if($num)                {                        printerror("ReEmailFail","history.go(-1)",1);                }        }

 

将其删除或者注释掉。

==================================

取消管理员编辑会员信息时邮箱必填
打开 /e/member/class/member_adminfun.php

找到

if(!trim($add[userid])||!trim($add[email])||!trim($add[username])||!$add[groupid])

 

改为

if(!trim($add[userid])||!trim($add[username])||!$add[groupid])

 

找到

$add[email]=RepPostStr($add[email]);

 

将其删除或者注释掉。

找到

$email=RepPostStr($add['email']);

 

将其删除或者注释掉。

找到

        if($email)        {                $where.=" and ".egetmf('email')." like '%$email%'";        }

 

将其删除或者注释掉

===============================

至此才是真正的取消的会员的邮箱必填功能!