腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

Discuz!X1.5如何修改允许使用的用户名最大长度{最大值15}

1
回复
1900
查看
[复制链接]

765

主题

779

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
33029
发表于 19-4-24 17:25:08 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
                修改前提:' r# C0 i; @& `; y6 r+ F: b- ]/ q
mysql 从4.1 引入字符集的定义以来在对字符进行存储的时候,如果是定义的一个字段是 char(15) 那么不管是英文或者是任何编码的中文,都是可以存入15个的。但是在 mysql 4.0 中 char(15) 字段只能存储 15个字节的英文或数字,7.5个 GBK 汉字,5 个 UTF8 编码的汉字。我们的修改就是基于 mysql 4.1 以上版本的。这样能够只修改程序,而不修改数据库,把修改的成本降到最低。由于标准数据库中用户名的字段长度为 15 那么我们修改的上限也就是 15 个汉字的用户名,如果再多的话,入库的时候就要报错了。一般来说 15 个汉字的用户名也足够用了。
) X; b. |# Q/ L4 K) ~1 j9 n, {5 H# w7 E* K  m& r% M
修改方法:
5 B0 U% g8 E7 p( O8 j) M* t5 d- m注:此修改方法针修改为最大上限,官方不建议大家修改为这么大,会造成风格问题,一下代码中的 30 推荐替换为 24。也就是 12 个 GBK 汉字。
1 B( f8 k/ |) C9 Q. X& r8 p3 n8 P# T* k6 T% Q
1.前台 JS 的修改方法( J, y, q* B* c* ~# v
打开 templatedefaultmemberregister.htm 文件:
9 I8 Q- }5 [1 T. q找到:  W( R1 [% }9 y7 T* I$ I7 d, B$ U; B
  1. if(unlen < 3 || unlen > 15) {<span style="background-color: rgb(255, 255, 255);"> </span>
复制代码
修改为" |8 {) n* @6 N' K, i" Y) E2 M( h
  1. if(unlen < 3 || unlen > 30) {
复制代码
保存
8 F, M3 w6 `7 x% q* y' A7 W7 p2.  Discuz! php 代码修改
% O4 p0 W5 P7 P5 g
$ Z- ?  Q' I( n4 p$ y打开  sourcemoduleforumforum_ajax.php$ D; K0 T6 \8 R, U  w& C% W
找到:  M  n; n( U" z& C1 F8 O
  1. } elseif($usernamelen > 15) {
复制代码
修改为:
5 i, Y4 _% m+ \! a$ i' {( ^
  1. } elseif($usernamelen > 30) {
复制代码
# V3 ?; f! J) K6 ~7 y) [9 ~- a
打开  sourcemodulemembermember_register.php( e# k  C, {% }6 y$ ?. B& x
找到:5 P: y# m& F: y8 |
  1. } elseif($usernamelen > 15) {
复制代码
修改为:
" r0 O9 M/ O6 ~% g' ]
  1. } elseif($usernamelen > 30) {
复制代码
3.UCenter client php 代码修改
0 `: D* z1 }$ q; c" f& a' M, Y6 |$ z4 B" E7 m* ?
打开 uc_clientmodeluser.php  s* X9 M1 Y! j7 F5 q0 q
找到
6 t9 @' Y: y8 q. M
  1. if($len > 15 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
修改为3 W& U; |5 }, ^" }$ h
  1. if($len > 30 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
4.UCenter uc_server php 代码修改
% C  ]/ S0 g3 o% M  m0 k比如当前我使用的 UCenter 在 uc_server 目录中,修改正在使用的 UCenter 的 uc_servermodeluser.php 文件  y1 F1 C  G: v/ T5 y4 O+ L

6 L6 N; `, I; f6 x' f, \3 N: Z找到
$ f2 J" `4 ^. `. W
  1. if($len > 15 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
修改为:
3 W$ f3 t' Z' r* i$ l+ K8 r
  1. if($len > 30 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码

* i" ]% Y  c& p9 `% n- Y; f            

0

主题

13

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-9-22 08:14:29 | 显示全部楼层         
路过,支持一下啦
回复

使用道具 举报

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除