返回列表 发帖

[网站后台] 如何去掉DZ注册时的邮箱填写

今天逛DZ官网时看到这样一帖子
http://www.discuz.net/thread-1187590-1-1.html

内容大致如下:

能否修改注册,注册不需要填写邮箱
99%的人都的填写假的。 意义不大。

怎么去掉


刚开始我认为很简单的,自己还没测试就很快发回复:

这个简单,修改注册模版文件
templates\default\register.htm


把以下代码去掉即可
  • <label><em>{lang email}:</em><input type="text" name="email" autocomplete="off" size="25" id="email" tabindex="1" class="txt" /> *</label>

复制代码


然后一测试才发现自己把问题想得太简单了,呵呵,这样只是去掉了注册模版文件的邮箱填写,没有去掉邮箱检查,反而让用户总是因“邮箱地址错误”而无法注册。

然后我把DZ7文件翻了半天,从一个require_once找到另一个require_once,最后终于找出检查邮箱地址所在的那个文件,即解决方法应该是:

修改 根目录\uc_client\model\user.php文件

把user.php文件的代码
  1. strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email)
复制代码
替换为

  1. TRUE
复制代码
呵呵,原理就是去掉邮箱地址的检查,让那个检查邮箱地址的函数返回值为TRUE,这样不管注册时在邮箱那填什么或不填都能通过邮箱地址检查。
仔细看下面这个函数就懂了

  1. function check_emailformat($email) {
  2.                 return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email);
  3.         }
复制代码
不过作为一个论坛,我是非常不赞成去掉注册时邮箱地址的。
但经过对这个问题的解答,我更加深了对DZ论坛PHP文件的了解,那些chek类函数一般都放在model目录下。其实这学期我经常会为了查一段DZ代码而翻遍个DZ文件, 这种形成了产品的论坛系统文件名还有代码文件中的变量名、函数名、类等命名都具有一定相应含义,这样很易读。这也让我深刻体会在以后的编程学习中要养成一个良好的编程习惯。其实现在我的编程经验还非常薄弱,唉~~要加紧学习了。
专注于自我的兴趣和理想

不错,路过 支持。。。。













VS1+弹簧操动机构|我要学声乐|装潢

TOP

返回列表