panjinyou 发表于 2022-8-6 17:44:32

php邮箱必填,discuz关闭邮箱注册必填选项

由于需要,我要做的网站不需要注册的时候填写邮件,需要关闭必填,于是从网上找了教程,发现没有后台的选项,之后知道,discuz3.2之后就取消取消邮箱必填 这个选项了,于是从网上找了点资料,成功关闭邮箱注册必填选项。情况1:disczu3.2之前的版本,直接在后台-----全局------注册与访问控制,取消邮箱注册必填即可。

情况二:3.2后的版本,需要改动代码使 取消注册邮箱必填按钮 显现出来,具体步骤如下。第一步:查找source/admincp/admincp_setting.php 文件查找showsetting('setting_access_register_send_register_url', 'settingnew', $setting['sendregisterurl'], 'radio');
在这个代码下添加showsetting('setting_access_register_forge_email', 'settingnew', $setting['forgeemail'], 'radio');
第二步:查找source/language/lang_admincp.php 文件查找一个邮箱只允许注册一个帐户
注意:只有在站长 – 邮件设置中完成邮件设置,确保邮件能发送成功下可以开启该功能在这段话下面添加'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));

}

}
这样后台-----全局------注册与访问控制,中的取消邮箱注册必填选项 就会出来了,点击取消选项即可。哈哈!
页: [1]
查看完整版本: php邮箱必填,discuz关闭邮箱注册必填选项