Discuz3.2版本 修改注册用户名长度限制
来源:互联网 发布:sql语句统计数量 编辑:程序博客网 时间:2024/05/22 08:16
Discuz默认的15个字符太短了,从别的系统同步过来用户名都无法插入到数据库啊,下面是修改的记录,把15的地方改成需要的就行了,这里改成45。
⚠️:下面的文件名,可能大小写不一样,如果找不到就去那个目录下搜搜类似的文件看看,汉字和字符的区别注意下
主要分为代码和数据2个部分,小小的需求改动还蛮大的。
代码部分
1、 source/class/class_member.php
输入验证修改,搜索关键词 usernamelen
} elseif($usernamelen > 15) { showmessage('profile_username_toolong');}
把15修改成45
2、 source/language/lang_message.php
提示语的验证部分,搜索关键词 profile_username_toolong
, 然后根据需要修改
'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',
3、 source/language/mobile/lang_template.php
修改页面模版, 搜索关键词 reg_username
和 registerinputtip
修改对应的文字
'registerinputtip' => '用户名:3-15位',
4、source/module/forum/forum_ajax.php
(Forum_ajax.php) 修改ajax表单验证,搜索关键词 usernamelen
if($usernamelen < 3) { showmessage('profile_username_tooshort', '', array(), array('handle' => false)); } elseif($usernamelen > 15) { showmessage('profile_username_toolong', '', array(), array('handle' => false)); }
5、uc_client/model/user.php
搜索关键词 check_username
,
function check_username($username) { $guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8'; $len = $this->dstrlen($username); if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*\"\s\<\>\&]|$guestexp/is", $username)) { return FALSE; } else { return TRUE; } }
6、static/js/register.js
搜索关键词 unlen
var unlen = username.replace(/[^\x00-\xff]/g, "**").length; if(unlen < 3 || unlen > 15) { errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符'); return; }
判断和错误提示都要改
7、template/default/member/register.htm
125行左右
setting['reginput']['username']}" name="" class="px" tabindex="1" value="{echo dhtmlspecialchars($_GET[defaultusername])}" autocomplete="off" size="25" maxlength="15" required="">
修改maxlength的值
数据库部分
代码改完了,还有数据库啊(看到论坛很多帖子都没提这事,也不知道他们自己做过没有),可以到数据库自行查询下,username字段的类型是 char(15)
DESC pre_ucenter_members; DESC pre_common_member;
要改的表比这多很多的哈,如果长度不同,只要放到文本编辑器中,使用编辑器进行全局替换
就能得到想要的SQL喽
ALTER TABLE `pre_ucenter_members` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_common_member` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_common_adminnote` MODIFY COLUMN `admin` VARCHAR(45);ALTER TABLE `pre_common_banned` MODIFY COLUMN `admin` VARCHAR(45);ALTER TABLE `pre_common_diy_data` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_common_grouppm` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_common_member_crime` MODIFY COLUMN `operator` VARCHAR(45);ALTER TABLE `pre_common_member_validate` MODIFY COLUMN `admin` VARCHAR(45);ALTER TABLE `pre_common_mytask` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_common_report` MODIFY COLUMN `username` VARCHAR(45), MODIFY COLUMN `opname` VARCHAR(45);ALTER TABLE `pre_common_session` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_common_word` MODIFY COLUMN `admin` VARCHAR(45);ALTER TABLE `pre_common_card_log` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_common_failedlogin` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_common_invite` MODIFY COLUMN `fusername` VARCHAR(45);ALTER TABLE `pre_common_member_verify_info` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_announcement` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_forum_collection` MODIFY COLUMN `username` VARCHAR(45),MODIFY COLUMN `lastposter` VARCHAR(45);ALTER TABLE `pre_forum_collectioncomment` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_collectionfollow` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_collectionteamworker` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_creditslog` MODIFY COLUMN `fromto` VARCHAR(45);ALTER TABLE `pre_forum_forumrecommend` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_forum_groupuser` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_order` MODIFY COLUMN `admin` VARCHAR(45);ALTER TABLE `pre_forum_pollvoter` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_post` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_forum_postcomment` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_forum_promotion` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_ratelog` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_rsscache` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_forum_thread` MODIFY COLUMN `author` VARCHAR(45),MODIFY COLUMN `lastposter` VARCHAR(45);ALTER TABLE `pre_forum_threadmod` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_forum_trade` MODIFY COLUMN `seller` VARCHAR(45),MODIFY COLUMN `lastbuyer` VARCHAR(45);ALTER TABLE `pre_forum_tradecomment` MODIFY COLUMN `rater` VARCHAR(45),MODIFY COLUMN `ratee` VARCHAR(45);ALTER TABLE `pre_forum_tradelog` MODIFY COLUMN `seller` VARCHAR(45),MODIFY COLUMN `buyer` VARCHAR(45);ALTER TABLE `pre_forum_warning` MODIFY COLUMN `operator` VARCHAR(45),MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_home_album` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_blog` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_clickuser` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_comment` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_home_docomment` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_doing` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_feed` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_feed_app` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_follow` MODIFY COLUMN `username` VARCHAR(45),MODIFY COLUMN `fusername` VARCHAR(45);ALTER TABLE `pre_home_follow_feed` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_follow_feed_archiver` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_friend` MODIFY COLUMN `fusername` VARCHAR(45);ALTER TABLE `pre_home_friend_request` MODIFY COLUMN `fusername` VARCHAR(45);ALTER TABLE `pre_home_notification` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_home_pic` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_poke` MODIFY COLUMN `fromusername` VARCHAR(45);ALTER TABLE `pre_home_share` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_show` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_home_specialuser` MODIFY COLUMN `username` VARCHAR(45),MODIFY COLUMN `opusername` VARCHAR(45);ALTER TABLE `pre_home_visitor` MODIFY COLUMN `vusername` VARCHAR(45);ALTER TABLE `pre_portal_rsscache` MODIFY COLUMN `author` VARCHAR(45);ALTER TABLE `pre_portal_topic_pic` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_ucenter_admins` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_ucenter_badwords` MODIFY COLUMN `admin` VARCHAR(45);ALTER TABLE `pre_ucenter_feeds` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_ucenter_mergemembers` MODIFY COLUMN `username` VARCHAR(45);ALTER TABLE `pre_ucenter_protectedmembers` MODIFY COLUMN `username` VARCHAR(45),MODIFY COLUMN `admin` VARCHAR(45);
改完之后要清除缓存
参考 http://sell.moe/discuz最新修改注册用户名长度限制.html
- Discuz3.2版本 修改注册用户名长度限制
- Discuz!修改注册用户名长度限制的方法
- 修改UCenter 版本1.6用户名长度限制的方法
- AIX修改用户名和密码长度限制
- 修改UCenter用户名长度限制的方法
- linux用户名长度限制
- 注册 用户名 非法关键字限制
- discuz3.2版本ucenter用户管理中心登陆问题解决办法
- DEDECMS修改标题长度限制
- LAMP5-杂项+Discuz3.2
- PHP discuz3.2 cas
- discuz3.2开启压缩
- ps -eo uname,comm|grep `whoami`失败 用户名长度限制
- 注册一个用户名 要求:长度不小于6 密码相同
- UITextField限制长度的问题修改
- dede修改描述description限制字数长度
- dedecms修改文章标题限制长度
- SQL 语句 最大长度限制 DB2如何修改最大长度限制
- 样式化加载失败的图片
- 面对对象-继承、代码块、API(Math类)
- 遍历字典
- 从网上盗的 javascript运算符的优先级
- (17)二叉树
- Discuz3.2版本 修改注册用户名长度限制
- 图(有向图)的应用——拓扑排序
- TableView Separatorinset 分割线从边框顶端开始
- C++中函数模板的用法详细解析
- Gym
- iOS类型转换
- 常用正则表达式
- 作用域&链接&存储期
- MySQL对数据表已有表进行分区表