民审-M

Discuz!X3.2 X3.3论坛网站注册页面如何取消邮箱 专为"曾哥"提供

作者:民审-M   发布时间:2017-02-12 22:07   回复数:0   浏览数:8414
民审-M
84140民审-M金牌草根
2017-02-12 22:07:10
84140 2017-02-12 22:07:10
本帖最后由 民审-M 于 2017-2-12 23:05 编辑

今天有看到有站长想去掉注册时邮箱必填
x3.0 和 x3.1 版本时后台可以设置的


但 x3.2 x3.3版本后台又取消这个功能设置了
刚才有空时整理了一下
分享给有需要的站长们

打开

source/admincp/admincp_setting.php 文件

查找
showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio');


在这段代码下方添加
showsetting('setting_access_register_forge_email', 'settingnew[forgeemail]', $setting['forgeemail'], 'radio');


再打開

source/language/lang_admincp.php 文件

查找个邮箱只允许注册一个帐户<br/>注意:只有在<a href=\"?action=setting&operation=mail\">站长 - 邮件设置</a>中完成邮件设置,确保邮件能发送成功下可以开 功能',


在这段代码下方添加
'setting_access_register_forge_email'=>'取消注册邮箱必填',
         'setting_access_register_forge_email_comment'=>'开启后如果用户不填写注册邮箱,将自动生成一个随机邮箱地址',


再打开

source/class/class_member.php 文件

查找
$email = strtolower(trim($_GET['email']));
                                if(empty($this->setting['ignorepassword'])) {
                                        if($_GET['password'] !== $_GET['password2']) {
                                                showmessage('profile_passwd_notmatch');
                                        }

                                        if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {
                                                showmessage('profile_passwd_illegal');
                                        }
                                        $password = $_GET['password'];
                                } else {
                                        $password = md5(random(10));
                                }
                        }


替换为
$email = strtolower(trim($_GET['email']));
                                if(empty($email) && $_G['setting']['forgeemail']) {
                                        $_GET['email'] = $email = strtolower(random(6)).'@'.$_SERVER['HTTP_HOST'];
                                }
                                if(empty($this->setting['ignorepassword'])) {
                                        if($_GET['password'] !== $_GET['password2']) {
                                                showmessage('profile_passwd_notmatch');
                                        }

                                        if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {
                                                showmessage('profile_passwd_illegal');
                                        }
                                        $password = $_GET['password'];
                                } else {
                                        $password = md5(random(10));
                                }
                        }


修改前请先备份
修改后记得更新缓存

修改前



修改後



注册时就可以不用填写 E-mail

图片:注册邮箱.jpg





游客
登录后才可以回帖,登录 或者 注册