查看: 31|回复: 0

[教程] 後台添加取消註冊郵箱必填功能 (繁和簡)

[复制链接]

55

主题

30

回帖

0

积分

热心网友

金币
30
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-1-17
发表于 2019-8-14 00:44:55 | 显示全部楼层 |阅读模式



详细教程以及代码.zip(1.46 KB, 下载次数: 184)2019-8-14 00:43 上传点击文件名下载附件



大家好
今天有看到有站長想去掉註冊時郵箱必填
x3.0 和 x3.1 版本時後台可以設置的

但 x3.2 版本後台又取消這個功能設置了
剛才有空時整理了一下
分享給有需要的站長們

另外樓主樓層第二頁
提供簡體版本方便其他站長閱讀^^


打開

source/admincp/admincp_setting.php 文件

查找

  1. showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio');



在這段代碼下方添加

  1. showsetting('setting_access_register_forge_email', 'settingnew[forgeemail]', $setting['forgeemail'], 'radio');



再打開

source/language/lang_admincp.php 文件

查找

  1. 個郵箱只允許註冊一個帳戶<br/>注意:只有在<a href="?action=setting&operation=mail">站長 - 郵件設置</a>中完成郵件設置,確保郵件能發送成功下可以開啟該功能 ',



在這段代碼下方添加

  1. <p>'setting_access_register_forge_email' => '取消註冊郵箱必填',</p><p>        'setting_access_register_forge_email_comment' => '開啟後如果用戶不填寫註冊郵箱,將自動生成一個隨機郵箱地址',</p>



再打開

source/class/class_member.php 文件

查找

  1. <p>$email = strtolower(trim($_GET['email']));</p><p>                                if(empty($this->setting['ignorepassword'])) {</p><p>                                        if($_GET['password'] !== $_GET['password2']) {</p><p>                                                showmessage('profile_passwd_notmatch');</p><p>                                        }</p><p>
  2. </p><p>                                        if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {</p><p>                                                showmessage('profile_passwd_illegal');</p><p>                                        }</p><p>                                        $password = $_GET['password'];</p><p>                                } else {</p><p>                                        $password = md5(random(10));</p><p>                                }</p><p>                        }</p>



替換為

  1. <p>$email = strtolower(trim($_GET['email']));</p><p>                                if(empty($email) && $_G['setting']['forgeemail']) {</p><p>                                        $_GET['email'] = $email = strtolower(random(6)).'@'.$_SERVER['HTTP_HOST'];</p><p>                                }</p><p>                                if(empty($this->setting['ignorepassword'])) {</p><p>                                        if($_GET['password'] !== $_GET['password2']) {</p><p>                                                showmessage('profile_passwd_notmatch');</p><p>                                        }</p><p>
  2. </p><p>                                        if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {</p><p>                                                showmessage('profile_passwd_illegal');</p><p>                                        }</p><p>                                        $password = $_GET['password'];</p><p>                                } else {</p><p>                                        $password = md5(random(10));</p><p>                                }</p><p>                        }</p>



修改前請先備份
修改後記得更新緩存

修改前



修改後



註冊時就可以不用填寫 E-mail







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

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

打开

source/admincp/admincp_setting.php 文件

查找
  1. <p>
  2. </p><p>showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio');</p>



在这段代码下方添加

  1. showsetting('setting_access_register_forge_email', 'settingnew[forgeemail]', $setting['forgeemail'], 'radio');



再打开

source/language/lang_admincp.php 文件

查找

  1. 個郵箱只允許註冊一個帳戶<br/>注意:只有在<a href="?action=setting&operation=mail">站長 - 郵件設置</a>中完成郵件設置,確保郵件能發送成功下可以開啟該功能 ',



在这段代码下方添加

  1. <p>'setting_access_register_forge_email' => '取消註冊郵箱必填',</p><p>        'setting_access_register_forge_email_comment' => '開啟後如果用戶不填寫註冊郵箱,將自動生成一個隨機郵箱地址',</p>



再打开

source/class/class_member.php 文件

查找

  1. <p>$email = strtolower(trim($_GET['email']));</p><p>                                if(empty($this->setting['ignorepassword'])) {</p><p>                                        if($_GET['password'] !== $_GET['password2']) {</p><p>                                                showmessage('profile_passwd_notmatch');</p><p>                                        }</p><p>
  2. </p><p>                                        if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {</p><p>                                                showmessage('profile_passwd_illegal');</p><p>                                        }</p><p>                                        $password = $_GET['password'];</p><p>                                } else {</p><p>                                        $password = md5(random(10));</p><p>                                }</p><p>                        }</p>



替换为

  1. <p>$email = strtolower(trim($_GET['email']));</p><p>                                if(empty($email) && $_G['setting']['forgeemail']) {</p><p>                                        $_GET['email'] = $email = strtolower(random(6)).'@'.$_SERVER['HTTP_HOST'];</p><p>                                }</p><p>                                if(empty($this->setting['ignorepassword'])) {</p><p>                                        if($_GET['password'] !== $_GET['password2']) {</p><p>                                                showmessage('profile_passwd_notmatch');</p><p>                                        }</p><p>
  2. </p><p>                                        if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {</p><p>                                                showmessage('profile_passwd_illegal');</p><p>                                        }</p><p>                                        $password = $_GET['password'];</p><p>                                } else {</p><p>                                        $password = md5(random(10));</p><p>                                }</p><p>                        }</p>



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

修改前



修改后



注册时就可以不用填写电子邮箱





後台, 添加, 取消, 註冊, 郵箱
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部