一个资源分享、信息整合的综合性站点。

标题: discuz如何修改注册用户名的长度限制?附最全步骤! [打印本页]

作者: 树苗收集系    时间: 2019-11-23 23:18
标题: discuz如何修改注册用户名的长度限制?附最全步骤!
[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]

作者: 小悲小欢小流年    时间: 2021-3-6 20:11
很给力。。。。很喜欢
作者: 青栀琉璃裙    时间: 2022-6-18 17:04
不错不错 支持下




欢迎光临 一个资源分享、信息整合的综合性站点。 (https://sorv.cn/) Powered by Discuz! X3.4