请选择 进入手机版 | 继续访问电脑版

discuz如何修改注册用户名的长度限制?附最全步骤!

[复制链接]
树苗收集系 发表于 2019-11-23 23:18:26 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
[font=Tahoma]在Discuz中,系统默认的用户名长度仍然是 3-15字节,但有一些网站可能会因为各种原因需要将用户名长度的限制做一些修改。所以结合之前的一些经验,完成了修改 注册用户名长度 的办法详细如下:[/font][font=Tahoma]
[/font][font=Tahoma][color=#006400]十个步骤:将其中的 15 修改为你所要的最大数字,将 3 修改为你所要的 最小数字。[/color][/font][font=Tahoma]

[color=red]第一步[/color],在网站 uc_client/model/user.php 和 uc_server/model/user.php,定位44行中找到如下代码:
[/font][code]<font face="Tahoma">if($len > 15 || $len < 3 || preg_match("//\s+|^c:\\con\\con|[%,\*\"\s\<\>\&]|$guestexp/is", $username))</font>[/code][font=Tahoma][color=red]第二步[/color],在网站 source/language/lang_message.php,找到如下代码:
[/font][code]<font face="Tahoma">'profile_username_tooshort' => '抱歉,您输入的用户名小于 3 个字符,请输入一个较长的用户名',</font>[/code][font=Tahoma][color=red]第三 步[/color],在网站 source/language/lang_message.php,找到如下代码:
[/font][code]<font face="Tahoma">'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',</font>[/code][font=Tahoma][color=red]第四步[/color],在网站 static/js/register.js ,找到如下代码:
[/font][code]<font face="Tahoma">if(unlen < 3 || unlen > 15) {errormessage(id, unlen < 3 ? '用户名小于 3 个字符' : '用户名超过 15 个字符');</font>[/code][font=Tahoma][color=red]第五步[/color],[size=2]在网站 data/template/[/size][size=2]1_1_member_register.tpl.php ,找到如下代码:[/size]
[/font][code]<font face="Tahoma">用户名由 3 到 15 个字符组成
</font>[/code][font=Tahoma][size=2][align=left][color=red][size=14px]第六步[/size][/color][size=14px],[/size][size=2]在网站[/size]source/class/class_member.php[color=#555555][size=14px],定位578行[/size][/color][size=14px]中找到如下代码:[/size][/align][/size][/font][code]<font face="Tahoma">if($usernamelen < 3) {showmessage('profile_username_tooshort');} elseif($usernamelen > 15) {showmessage('profile_username_toolong');}</font>[/code][font=Tahoma][color=red]第七步[/color],[size=2][size=2]在网站[/size][/size]source/module/forum/forum_ajax.php,定位22行中找到如下代码:[/font][code]<font face="Tahoma">if($usernamelen < 3) {
                showmessage('profile_username_tooshort', '', array(), array('handle' => false));
        } elseif($usernamelen > 15) {
                showmessage('profile_username_toolong', '', array(), array('handle' => false));
        }</font>[/code][font=Tahoma][color=red]第八步[/color],[size=2][size=2]在网站[/size][/size]static/js/register.js,定位281、282行中找到如下代码:[/font]
[code]<font face="Tahoma">if(unlen < 3 || unlen > 15) {
                errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符');
</font>[/code][font=Tahoma][color=red]第九步[/color],[size=2][size=2]在网站[/size][/size]template/default/member/register.htm,定位125行中找到如下代码:[/font]
[code]<font face="Tahoma"><td><input type="text" id="{$this->setting['reginput']['username']}" name="" class="px" tabindex="1" autocomplete="off" size="25" maxlength="15" required /></td></font>[/code][font=Tahoma][color=red]第十步[/color],[size=2][size=2]在网站[/size][/size]source/language/member/lang_template.php,定位52行中找到如下代码:[/font]
[code]<font face="Tahoma"> 'register_username_tips' => '用户名由 3 到 15 个字符组成',</font>[/code][font=Tahoma][font=Tahoma]
[/font]
最后是修改数据库的用户名长度限制,因为字段属性为 char(15),varchar(15),char(20)等等,我们统一修改它为 varchar(32),当然你要自己定义也无妨,复制和运行以下SQL语句即可:[/font]
[code]<font face="Tahoma">ALTER TABLE `pre_common_adminnote` modify column `admin`  varchar(32);
ALTER TABLE `pre_common_banned` modify column `admin`  varchar(32);
ALTER TABLE `pre_common_diy_data` modify column `username`  varchar(32);
ALTER TABLE `pre_common_grouppm` modify column `author`  varchar(32);
ALTER TABLE `pre_common_member` modify column `username`  varchar(32);
ALTER TABLE `pre_common_member_crime` modify column `operator`  varchar(32);
ALTER TABLE `pre_common_member_validate` modify column `admin`  varchar(32);
ALTER TABLE `pre_common_mytask` modify column `username`  varchar(32);
ALTER TABLE `pre_common_report` modify column `username`  varchar(32),modify column `opname`  varchar(32);
ALTER TABLE `pre_common_session` modify column `username`  varchar(32);
ALTER TABLE `pre_common_word` modify column `admin`  varchar(32);
ALTER TABLE `pre_common_card_log` modify column `username`  varchar(32);
ALTER TABLE `pre_common_failedlogin` modify column `username`  varchar(32);
ALTER TABLE `pre_common_invite` modify column `fusername`  varchar(32);
ALTER TABLE `pre_common_member_verify_info` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_announcement` modify column `author`  varchar(32);
ALTER TABLE `pre_forum_collection` modify column `username`  varchar(32),modify column `lastposter`  varchar(32);
ALTER TABLE `pre_forum_collectioncomment` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_collectionfollow` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_collectionteamworker` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_creditslog` modify column `fromto`  varchar(32);
ALTER TABLE `pre_forum_forumrecommend` modify column `author`  varchar(32);
ALTER TABLE `pre_forum_groupuser` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_order` modify column `admin`  varchar(32);
ALTER TABLE `pre_forum_pollvoter` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_post` modify column `author`  varchar(32);
ALTER TABLE `pre_forum_postcomment` modify column `author`  varchar(32);
ALTER TABLE `pre_forum_promotion` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_ratelog` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_rsscache` modify column `author`  varchar(32);
ALTER TABLE `pre_forum_thread` modify column `author`  varchar(32),modify column `lastposter`  varchar(32);
ALTER TABLE `pre_forum_threadmod` modify column `username`  varchar(32);
ALTER TABLE `pre_forum_trade` modify column `seller`  varchar(32),modify column `lastbuyer`  varchar(32);
ALTER TABLE `pre_forum_tradecomment` modify column `rater`  varchar(32),modify column `ratee`  varchar(32);
ALTER TABLE `pre_forum_tradelog` modify column `seller`  varchar(32),modify column `buyer`  varchar(32);
ALTER TABLE `pre_forum_warning` modify column `operator`  varchar(32),modify column `author`  varchar(32);
ALTER TABLE `pre_home_album` modify column `username`  varchar(32);
ALTER TABLE `pre_home_blog` modify column `username`  varchar(32);
ALTER TABLE `pre_home_clickuser` modify column `username`  varchar(32);
ALTER TABLE `pre_home_comment` modify column `author`  varchar(32);
ALTER TABLE `pre_home_docomment` modify column `username`  varchar(32);
ALTER TABLE `pre_home_doing` modify column `username`  varchar(32);
ALTER TABLE `pre_home_feed` modify column `username`  varchar(32);
ALTER TABLE `pre_home_feed_app` modify column `username`  varchar(32);
ALTER TABLE `pre_home_follow` modify column `username`  varchar(32),modify column `fusername`  varchar(32);
ALTER TABLE `pre_home_follow_feed` modify column `username`  varchar(32);
ALTER TABLE `pre_home_follow_feed_archiver` modify column `username`  varchar(32);
ALTER TABLE `pre_home_friend` modify column `fusername`  varchar(32);
ALTER TABLE `pre_home_friend_request` modify column `fusername`  varchar(32);
ALTER TABLE `pre_home_notification` modify column `author`  varchar(32);
ALTER TABLE `pre_home_pic` modify column `username`  varchar(32);
ALTER TABLE `pre_home_poke` modify column `fromusername`  varchar(32);
ALTER TABLE `pre_home_share` modify column `username`  varchar(32);
ALTER TABLE `pre_home_show` modify column `username`  varchar(32);
ALTER TABLE `pre_home_specialuser` modify column `username`  varchar(32),modify column `opusername`  varchar(32);
ALTER TABLE `pre_home_visitor` modify column `vusername`  varchar(32);
ALTER TABLE `pre_portal_rsscache` modify column `author`  varchar(32);
ALTER TABLE `pre_portal_topic_pic` modify column `username`  varchar(32);
ALTER TABLE `pre_ucenter_admins` modify column `username`  varchar(32);
ALTER TABLE `pre_ucenter_badwords` modify column `admin`  varchar(32);
ALTER TABLE `pre_ucenter_feeds` modify column `username`  varchar(32);
ALTER TABLE `pre_ucenter_members` modify column `username`  varchar(32);
ALTER TABLE `pre_ucenter_mergemembers` modify column `username`  varchar(32);
ALTER TABLE `pre_ucenter_protectedmembers` modify column `username`  varchar(32),modify column `admin`  varchar(32);</font>[/code]
回复

使用道具 举报

精彩评论2

小悲小欢小流年 发表于 2021-3-6 20:11:35 | 显示全部楼层
很给力。。。。很喜欢
回复

使用道具 举报

青栀琉璃裙 发表于 2022-6-18 17:04:43 | 显示全部楼层
不错不错 支持下
回复

使用道具 举报

发布主题
推荐阅读 更多
阅读排行 更多
广告位
全国统一客服电话
400-1234-5678

24x7小时免费咨询

  • 官方在线客服

    QQ客服:小西

    点击交谈

    QQ客服:良子

    点击交谈

    QQ客服:闵月

    点击交谈
  • 安徽省合肥市高新区创新产业园

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信

    加入官方微信群