帝国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%'";
        }
将其删除或者注释掉
===============================
至此才是真正的取消的会员的邮箱必填功能!