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

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

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

764

主题

778

帖子

3万

积分

董事

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

积分
32970
发表于 19-4-24 17:25:08 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
                修改前提:
1 _; A7 W( Y# ~0 {) @" O3 z! Amysql 从4.1 引入字符集的定义以来在对字符进行存储的时候,如果是定义的一个字段是 char(15) 那么不管是英文或者是任何编码的中文,都是可以存入15个的。但是在 mysql 4.0 中 char(15) 字段只能存储 15个字节的英文或数字,7.5个 GBK 汉字,5 个 UTF8 编码的汉字。我们的修改就是基于 mysql 4.1 以上版本的。这样能够只修改程序,而不修改数据库,把修改的成本降到最低。由于标准数据库中用户名的字段长度为 15 那么我们修改的上限也就是 15 个汉字的用户名,如果再多的话,入库的时候就要报错了。一般来说 15 个汉字的用户名也足够用了。$ f5 R& f1 J$ ~: g8 L5 T# H3 v

$ q8 c, `0 L4 s修改方法:4 g1 F! i, B: s$ z7 v8 w
注:此修改方法针修改为最大上限,官方不建议大家修改为这么大,会造成风格问题,一下代码中的 30 推荐替换为 24。也就是 12 个 GBK 汉字。
, p& A. @; S4 f1 i5 D9 o5 E% V
. j) z. f- t+ ^2 m. v" h4 C. W( _  @4 R1.前台 JS 的修改方法( y6 T1 c5 X  N/ y' Q8 Q! K) q9 v
打开 templatedefaultmemberregister.htm 文件:/ n2 ]" m2 J  d7 r
找到:
: S% E. T0 a3 o, y5 S6 a
  1. if(unlen < 3 || unlen > 15) {<span style="background-color: rgb(255, 255, 255);"> </span>
复制代码
修改为" d% C/ h3 h/ E8 B3 s
  1. if(unlen < 3 || unlen > 30) {
复制代码
保存
: }* ^: j7 u6 ^5 W( d4 o9 U/ h* `2.  Discuz! php 代码修改
6 g2 q. q/ ]! P4 @' ?6 o7 @
  {) p; i# U  c8 }8 {打开  sourcemoduleforumforum_ajax.php7 V% V3 V! \; A- Z' P/ m2 \
找到:
7 z9 _3 b* R# |2 y1 X
  1. } elseif($usernamelen > 15) {
复制代码
修改为:8 T. g8 f7 {8 s2 T9 v
  1. } elseif($usernamelen > 30) {
复制代码

- P& N$ S: f# E, y+ W5 B打开  sourcemodulemembermember_register.php- l/ X( ^9 e5 A* ~1 K! k
找到:/ t/ f. A  V1 R
  1. } elseif($usernamelen > 15) {
复制代码
修改为:
- v# ?8 I0 O0 {
  1. } elseif($usernamelen > 30) {
复制代码
3.UCenter client php 代码修改0 s2 O" |0 t* ^4 G: d1 ~  v$ b9 `
; {* t% M6 L9 |5 T
打开 uc_clientmodeluser.php; O: T" Y% H2 N  _3 b' d
找到* Z' j/ Y- h# C% t0 n
  1. if($len > 15 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
修改为
3 Q) t; k0 x1 g& R
  1. if($len > 30 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
4.UCenter uc_server php 代码修改
0 i0 F" ^: I2 y5 }$ R比如当前我使用的 UCenter 在 uc_server 目录中,修改正在使用的 UCenter 的 uc_servermodeluser.php 文件
& |9 h7 ^& L8 n3 ?6 {9 N* O. P; ^" |7 \$ b1 Z  }6 ~- G, n
找到- p3 \0 S  z& R  f3 f- `' v
  1. if($len > 15 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
修改为:- l7 e; v: a; S8 P. Z/ {
  1. if($len > 30 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码

9 \! M! f4 m: N4 f            

0

主题

6

帖子

4

积分

1°伸手党

Rank: 2

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

使用道具 举报

网站简介

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