帝国CMS取消会员注册时候的邮箱必填

帝国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%'";

        }

将其删除或者注释掉。

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

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

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注