如何去掉DZ注册时的邮箱填写
今天逛DZ官网时看到这样一帖子[url=http://www.discuz.net/thread-1187590-1-1.html][color=#d37c00]http://www.discuz.net/thread-1187590-1-1.html[/color][/url]
[color=#d37c00][/color]
内容大致如下:
[quote]
能否修改注册,注册不需要填写邮箱
[table][tr][td]99%的人都的填写假的。 意义不大。
怎么去掉[/td][/tr][/table]
[/quote]
刚开始我认为很简单的,自己还没测试就很快发回复:
[quote]
[table][tr][td]这个简单,修改注册模版文件
templates\default\register.htm
把以下代码去掉即可 [list=1][*]<label><em>{lang email}:</em><input type="text" name="email" autocomplete="off" size="25" id="email" tabindex="1" class="txt" /> *</label>[/list]
[color=#0099cc]复制代码[/color]
[/td][/tr][/table]
[/quote]
然后一测试才发现自己把问题想得太简单了,呵呵,这样只是去掉了注册模版文件的邮箱填写,没有去掉邮箱检查,反而让用户总是因“邮箱地址错误”而无法注册。
然后我把DZ7文件翻了半天,从一个require_once找到另一个require_once,最后终于找出检查邮箱地址所在的那个文件,即解决方法应该是:
修改 根目录\uc_client\model\user.php文件
把user.php文件的代码[code]strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email)[/code]替换为[code]
TRUE
[/code]呵呵,原理就是去掉邮箱地址的检查,让那个检查邮箱地址的函数返回值为TRUE,这样不管注册时在邮箱那填什么或不填都能通过邮箱地址检查。
仔细看下面这个函数就懂了[code]
function check_emailformat($email) {
return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email);
}
[/code]不过作为一个论坛,我是非常不赞成去掉注册时邮箱地址的。
但经过对这个问题的解答,我更加深了对DZ论坛PHP文件的了解,那些chek类函数一般都放在model目录下。其实这学期我经常会为了查一段DZ代码而翻遍个DZ文件, 这种形成了产品的论坛系统文件名还有代码文件中的变量名、函数名、类等命名都具有一定相应含义,这样很易读。这也让我深刻体会在以后的编程学习中要养成一个良好的编程习惯。其实现在我的编程经验还非常薄弱,唉~~要加紧学习了。 不错,路过 支持。。。。
[img]http://www.seojiage.com/123/sigline.gif[/img]
[url=http://www.nb-djdj.com.cn]VS1+弹簧操动机构[/url]|[url=http://www.27hi.com]我要学声乐[/url]|[url=http://www.021sn.com]装潢[/url]
页:
[1]