Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

discuz5.0修改注册用户名的长度限制的方法

[复制链接]
冰雕玲珑鱼 发表于 2006-12-24 14:55:13 | 显示全部楼层 |阅读模式
discuz的用户名限制不能超过15个字符长度,如果想要改的更长一些可以按照下面的方法修改,不过这样修改之后,如果将来升级的时候可能会带来麻烦,如果discuz新版本仍然将用户名限制在不超过15个字符,将需要对新版本做类似修改才能使用,并且有些需要增加数据表的插件可能也需要做调整.请想好了再做哦.
以下按照把用户名长度限制在20个字符进行修改的,如果你想改成其他数值,那把下面的内容里的20改成其他数字就可以了

首先,到discuz后台系统工具里数据库升级里执行 (把ku_改成你的数据库前缀,默认是cdb_


  1. alter table ku_activityapplies modify username varchar(20);
  2. alter table ku_adminnotes modify admin varchar(20);
  3. alter table ku_announcements modify author varchar(20);
  4. alter table ku_banned modify admin varchar(20);
  5. alter table ku_creditslog modify fromto varchar(20);
  6. alter table ku_members modify username varchar(20);
  7. alter table ku_orders modify admin varchar(20);
  8. alter table ku_posts modify author varchar(20);
  9. alter table ku_pms modify msgfrom varchar(20);
  10. alter table ku_promotions modify username varchar(20);
  11. alter table ku_ratelog modify username varchar(20);
  12. alter table ku_rsscaches modify author varchar(20);
  13. alter table ku_sessions modify username varchar(20);
  14. alter table ku_threads modify author varchar(20);
  15. alter table ku_threads modify lastposter varchar(20);
  16. alter table ku_threadsmod modify username varchar(20);
  17. alter table ku_trades modify seller varchar(20);
  18. alter table ku_trades modify lastbuyer varchar(20);
  19. alter table ku_validating modify admin varchar(20);
  20. alter table ku_words modify admin varchar(20);

复制代码

然后修改
各个模板目录下的register.htm(如果有的话)
把 maxlength="15" id="username" 里的15改成20
把 if(unlen < 3 || unlen > 15) { 里的15改成20


修改register.php把 if(strlen($username) > 15) { 里的15改成20

修改各个模板下的templates.lang.php,messages.lang.php(如果有的话)
把 超过 15 个字符 里的15改成20

修改wap/include/login.inc.php
把maxlength=\"15\" 里的15改成20

修改wap/include/pm.inc.php
把maxlength=\"15\"里的15改成20


最后就是修改api目录下的 passport.php,shopex.php,siteengine.php

if(strlen($memberfields['username'] = preg_replace("/(c:\\con\\con$|[%,\*\"\s\t\<\>\&])/i", "", $memberfields['username'])) > 15) {
                $memberfields['username'] = substr($memberfields['username'], 0, 15);
        }
里的15改成20

有空来我的小站逛逛http://www.imbbs.cn
tianyecn 发表于 2007-1-6 22:20:16 | 显示全部楼层
如果我要让长度在5或6个字符,怎么弄?
回复

使用道具 举报

babyq 发表于 2007-1-6 22:21:40 | 显示全部楼层
回复

使用道具 举报

awelkije 发表于 2007-2-12 19:06:12 | 显示全部楼层
建議dz官方可以把這個功能加到後台去
回复

使用道具 举报

xckx 发表于 2007-5-10 13:41:16 | 显示全部楼层
强烈建议把这个功能加入后台...
回复

使用道具 举报

pc77maikongjian 发表于 2007-5-14 21:48:40 | 显示全部楼层
支持楼上的
回复

使用道具 举报

qbjbbs 发表于 2007-5-15 12:58:44 | 显示全部楼层
是啊...建议加上去...
回复

使用道具 举报

sunlinanb46 发表于 2007-5-22 23:14:40 | 显示全部楼层
支持4、5楼看法。。
回复

使用道具 举报

cricon 发表于 2007-6-8 13:59:29 | 显示全部楼层
限制15个字符长度太愚蠢了,DZ必须改变
回复

使用道具 举报

nopop 发表于 2007-8-7 10:50:18 | 显示全部楼层
原帖由 cricon 于 2007-6-8 13:59 发表
限制15个字符长度太愚蠢了,DZ必须改变





这句话要顶!!!!!!!!!!!!!!!!!!!!1
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-4-29 13:12 , Processed in 0.051606 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表