discuz的用户名限制不能超过15个字符长度,如果想要改的更长一些可以按照下面的方法修改,不过这样修改之后,如果将来升级的时候可能会带来麻烦,如果discuz新版本仍然将用户名限制在不超过15个字符,将需要对新版本做类似修改才能使用,并且有些需要增加数据表的插件可能也需要做调整.请想好了再做哦.
以下按照把用户名长度限制在20个字符进行修改的,如果你想改成其他数值,那把下面的内容里的20改成其他数字就可以了
首先,到discuz后台系统工具里数据库升级里执行 (把ku_改成你的数据库前缀,默认是cdb_
- alter table ku_activityapplies modify username varchar(20);
- alter table ku_adminnotes modify admin varchar(20);
- alter table ku_announcements modify author varchar(20);
- alter table ku_banned modify admin varchar(20);
- alter table ku_creditslog modify fromto varchar(20);
- alter table ku_members modify username varchar(20);
- alter table ku_orders modify admin varchar(20);
- alter table ku_posts modify author varchar(20);
- alter table ku_pms modify msgfrom varchar(20);
- alter table ku_promotions modify username varchar(20);
- alter table ku_ratelog modify username varchar(20);
- alter table ku_rsscaches modify author varchar(20);
- alter table ku_sessions modify username varchar(20);
- alter table ku_threads modify author varchar(20);
- alter table ku_threads modify lastposter varchar(20);
- alter table ku_threadsmod modify username varchar(20);
- alter table ku_trades modify seller varchar(20);
- alter table ku_trades modify lastbuyer varchar(20);
- alter table ku_validating modify admin varchar(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 |