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

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

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

761

主题

775

帖子

3万

积分

董事

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

积分
32840
发表于 19-4-24 17:25:08 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
                修改前提:9 V& n; a- E) w$ v2 M; e  Y! }- ^
mysql 从4.1 引入字符集的定义以来在对字符进行存储的时候,如果是定义的一个字段是 char(15) 那么不管是英文或者是任何编码的中文,都是可以存入15个的。但是在 mysql 4.0 中 char(15) 字段只能存储 15个字节的英文或数字,7.5个 GBK 汉字,5 个 UTF8 编码的汉字。我们的修改就是基于 mysql 4.1 以上版本的。这样能够只修改程序,而不修改数据库,把修改的成本降到最低。由于标准数据库中用户名的字段长度为 15 那么我们修改的上限也就是 15 个汉字的用户名,如果再多的话,入库的时候就要报错了。一般来说 15 个汉字的用户名也足够用了。0 m1 l( w8 a; Z# R$ z! H1 h
$ C$ _$ z$ e% @3 B# U3 t
修改方法:8 p, I/ l7 z% x. H
注:此修改方法针修改为最大上限,官方不建议大家修改为这么大,会造成风格问题,一下代码中的 30 推荐替换为 24。也就是 12 个 GBK 汉字。
/ X8 B( _2 t" q+ l# @
4 x( i7 j3 `2 O1.前台 JS 的修改方法
: R. i) I  \4 m" X/ ~打开 templatedefaultmemberregister.htm 文件:- n) f8 U1 \% [6 s' m
找到:4 R3 v3 h4 \. l$ [/ ^  o' o4 J
  1. if(unlen < 3 || unlen > 15) {<span style="background-color: rgb(255, 255, 255);"> </span>
复制代码
修改为
, G/ v$ ?2 E+ t  s
  1. if(unlen < 3 || unlen > 30) {
复制代码
保存# d( u' X( J* C0 N
2.  Discuz! php 代码修改
) T. G3 x& S# ~$ T
& a8 f$ P/ T% F8 W* ^' u打开  sourcemoduleforumforum_ajax.php
9 J4 y- O# N( N找到:  k# _/ K5 ?+ B' T, [( L2 w) P: W
  1. } elseif($usernamelen > 15) {
复制代码
修改为:/ W, X: }: B. M3 q  e3 y
  1. } elseif($usernamelen > 30) {
复制代码

$ b3 L" M4 R8 [打开  sourcemodulemembermember_register.php
* o; M" }6 B( y% l( z0 r' X找到:
- x0 `+ r; z0 y* R0 c, I' M' }
  1. } elseif($usernamelen > 15) {
复制代码
修改为:
/ i/ i0 Q0 l0 e9 q, d; h7 [
  1. } elseif($usernamelen > 30) {
复制代码
3.UCenter client php 代码修改9 `4 I' w8 ^6 `( r& S. k

) n" x/ E4 b5 g' q打开 uc_clientmodeluser.php3 b; `* z% A1 ]. S, d; Q
找到
+ Z. d8 x: w6 n, w! l; v
  1. if($len > 15 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
修改为
! F& ^* {0 q4 V" f$ t' D
  1. if($len > 30 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
4.UCenter uc_server php 代码修改
/ Z) S' j3 ~. h/ v" m. `比如当前我使用的 UCenter 在 uc_server 目录中,修改正在使用的 UCenter 的 uc_servermodeluser.php 文件) F+ N; u$ P$ K! g5 D

- C3 y, C1 H7 c: A& I: N2 t/ |/ N找到; l- x+ U& C: P+ y4 o* H" O- c
  1. if($len > 15 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码
修改为:
. }; t/ v6 j  c5 ~( Q
  1. if($len > 30 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
复制代码

1 I4 M4 p  C' o  V( r# U7 s            

0

主题

5

帖子

4

积分

1°伸手党

Rank: 2

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

使用道具 举报

网站简介

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