今天逛DZ官网时看到这样一帖子
http://www.discuz.net/thread-1187590-1-1.html
内容大致如下:
刚开始我认为很简单的,自己还没测试就很快发回复:
这个简单,修改注册模版文件
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文件的代码- strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email)
复制代码 替换为呵呵,原理就是去掉邮箱地址的检查,让那个检查邮箱地址的函数返回值为TRUE,这样不管注册时在邮箱那填什么或不填都能通过邮箱地址检查。
仔细看下面这个函数就懂了-
- function check_emailformat($email) {
- return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email);
- }
复制代码 不过作为一个论坛,我是非常不赞成去掉注册时邮箱地址的。
但经过对这个问题的解答,我更加深了对DZ论坛PHP文件的了解,那些chek类函数一般都放在model目录下。其实这学期我经常会为了查一段DZ代码而翻遍个DZ文件, 这种形成了产品的论坛系统文件名还有代码文件中的变量名、函数名、类等命名都具有一定相应含义,这样很易读。这也让我深刻体会在以后的编程学习中要养成一个良好的编程习惯。其实现在我的编程经验还非常薄弱,唉~~要加紧学习了。 |