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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

[复制链接]
viswow 发表于 2011-4-26 17:26:04 | 显示全部楼层 |阅读模式
本帖最后由 viswow 于 2011-4-26 17:26 编辑

修改前提:
mysql 从4.1 引入字符集的定义以来在对字符进行存储的时候,如果是定义的一个字段是 char(15) 那么不管是英文或者是任何编码的中文,都是可以存入15个的。但是在 mysql 4.0 中 char(15) 字段只能存储 15个字节的英文或数字,7.5个 GBK 汉字,5 个 UTF8 编码的汉字。我们的修改就是基于 mysql 4.1 以上版本的。这样能够只修改程序,而不修改数据库,把修改的成本降到最低。由于标准数据库中用户名的字段长度为 15 那么我们修改的上限也就是 15 个汉字的用户名,如果再多的话,入库的时候就要报错了。一般来说 15 个汉字的用户名也足够用了。

修改方法:
注:此修改方法针修改为最大上限,官方不建议大家修改为这么大,会造成风格问题,一下代码中的 30 推荐替换为 24。也就是 12 个 GBK 汉字。

1.前台 JS 的修改方法
打开 template\default\member\register.htm 文件:
找到:
  1. if(unlen < 3 || unlen > 15) {
复制代码

修改为
  1. if(unlen < 3 || unlen > 30) {
复制代码

保存

2.  Discuz! php 代码修改
打开  source\module\forum\forum_ajax.php
找到:
  1. } elseif($usernamelen > 15) {
复制代码

修改为:
  1. } elseif($usernamelen > 30) {
复制代码

打开  source\module\member\member_register.php

找到:
  1. } elseif($usernamelen > 15) {
复制代码

修改为:
  1. } elseif($usernamelen > 30) {
复制代码



3.UCenter client php 代码修改
打开 uc_client\model\user.php
找到
  1. if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*"\s\<\>\&]|$guestexp/is", $username)) {
复制代码

修改为
  1. if($len > 30 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*"\s\<\>\&]|$guestexp/is", $username)) {
复制代码

4.UCenter uc_server php 代码修改
比如当前我使用的 UCenter 在 uc_server 目录中,修改正在使用的 UCenter 的 uc_server\model\user.php 文件
找到
  1. if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*"\s\<\>\&]|$guestexp/is", $username)) {
复制代码
修改为:
  1. if($len > 30 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*"\s\<\>\&]|$guestexp/is", $username)) {
复制代码



64243354 发表于 2011-4-26 22:32:41 | 显示全部楼层
支持老大的教程 收藏了
回复

使用道具 举报

秋之子 发表于 2011-4-29 00:23:05 | 显示全部楼层
支持一下。
回复

使用道具 举报

无忧虾 发表于 2011-5-7 17:45:32 | 显示全部楼层
o 这样呀
回复

使用道具 举报

无忧虾 发表于 2011-5-7 17:45:59 | 显示全部楼层
不知道最短可不可以3以下
回复

使用道具 举报

wfwt01 发表于 2011-5-12 17:18:52 | 显示全部楼层
原来如此啊??在这里!!
回复

使用道具 举报

gduew 发表于 2011-6-1 17:20:52 | 显示全部楼层
2.0找不到1。if(unlen < 3 || unlen > 15) {
回复

使用道具 举报

gduew 发表于 2011-6-2 11:46:50 | 显示全部楼层
希望给出2.0修改{:soso_e100:}
回复

使用道具 举报

youxiyu 发表于 2011-6-2 17:03:57 | 显示全部楼层
也期待2.0的修改方式  研究下吧
回复

使用道具 举报

雨爱 发表于 2011-6-14 17:02:48 | 显示全部楼层
求2.0的修改方式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 11:28 , Processed in 0.030066 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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