做了discuz api for java 第三方应用项目的注册登陆。
但是在修改用户名长度的时候。出现了小bug。找到解决发现是自身原因。
在discuz根目录下面有两个相关的文件夹uc_client 和 uc_server
在自己的java项目里面的配置文件调用到了uc_server 下面的model里面的user.php。里面有验证用户名长度。图片有代码。
也要把uc_client 下面的model里面的user.php。里面有验证用户名长度修改。
需要完全修改用户名长度的方法
然后,修改Discuz!X库表pre_xxx 1 pre_common_adminnote:admin[varchar(50)] √ 2 pre_common_banned:admin[varchar(50)] √ 3 pre_common_card_log:username[varchar(50)] √ 4 pre_common_diy_data:username[varchar(50)] √ 5 pre_common_failedlogin:username[char(50)] √ 6 pre_common_grouppm:author[varchar(50)] √ 7 pre_common_invite:fusername[varchar(50)] √ 8 pre_common_member:username[char(50)] √ 9 pre_common_member_validate:admin[varchar(50)] √ 10 pre_common_member_verify_info:username[varchar(50)] √ 11 pre_common_mytask:username[char(50)] √ 12 pre_common_report:username[varchar(50)],opname[varchar(50)] √ 13 pre_common_session:username[char(50)] √ 14 pre_common_word:admin[varchar(50)] √ 15 pre_forum_announcement:author[varchar(50)] √ 16 pre_forum_forumrecommend:author[varchar(50)] √ 17 pre_forum_groupuser:username[char(50)] √ 18 pre_forum_order:admin[varchar(50)] √ 19 pre_forum_pollvoter:username[char(50)] √ 20 pre_forum_promotion:username[char(50)] √ 21 pre_forum_post:author[varchar(50)] √ 22 pre_forum_postcomment:author[varchar(50)] √ 23 pre_forum_ratelog:username[char(50)] √ 24 pre_forum_rsscache:author[varchar(50)] √ 25 pre_forum_thread:author[varchar(50)] √ 26 pre_forum_threadmod:username[char(50)] √ 27 pre_forum_trade:seller[varchar(50)] √ 28 pre_forum_tradecomment:rater[varchar(50)] √ 29 pre_forum_tradelog:seller[varchar(50)],buyer[varchar(50)] √ 30 pre_forum_warning:operator[varchar(50)],author[varchar(50)] √ 31 pre_home_album:username[varchar(50)] √ 32 pre_home_blog:username[varchar(50)] √ 33 pre_home_clickuser:username[varchar(50)] √ 34 pre_home_comment:author[varchar(50)] √ 35 pre_home_docomment:username[varchar(50)] √ 36 pre_home_doing:username[varchar(50)] √ 37 pre_home_feed:username[varchar(50)] √ 38 pre_home_feed_app:username[varchar(50)] √ 39 pre_home_friend:fusername[varchar(50)] √ 40 pre_home_friend_request:fusername[char(50)] √ 41 pre_home_notification:author[varchar(50)] √ 42 pre_home_pic:username[varchar(50)] √ 43 pre_home_poke:fromusername[varchar(50)] √ 44 pre_home_share:username[varchar(50)] √ 45 pre_home_show:username[varchar(50)] √ 46 pre_home_specialuser:username[varchar(50)],opusername[varchar(50)]√ 47 pre_home_visitor:vusername[varchar(50)] √ 48 pre_myrepeats:username[varchar(50)] √ 49 pre_portal_rsscache:author[varchar(50)] √ 50 pre_portal_topic_pic:username[varchar(50)] √ Ucenter和discuz-x3修改注册用户名长度限制php程序和数据库修改
1、在网站/source/class/目录下的class_member.php文件中, 找到如下代码:585行 if($usernamelen < 3) { showmessage('profile_username_tooshort'); } elseif($usernamelen > 15) { showmessage('profile_username_toolong'); } 其中的数值“15”为注册用户名长度的最大值,数值“3”为注册用户名长度的最小值。将这两个值改成你需要的数值即可,例如我的网站需要将注册用户名长度的最大值增大至20,以下均以此为例。则修改上面的代码为: if($usernamelen < 3) { showmessage('profile_username_tooshort'); } elseif($usernamelen > 20) { showmessage('profile_username_toolong'); }
2、在网站/source/language/目录下的lang_message.php文件中, 找到如下代码:
'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名', 修改为:
'profile_username_toolong' => '抱歉,您的用户名超过 20 个字符,请输入一个较短的用户名',
3、在网站/source/language/member/目录下的lang_template.php文件中, 找到如下代码: 'register_username_tips' => '用户名必须为大于3位小于15位', 修改为: 'register_username_tips' => '用户名由 3 到 20 个字符组成',
4、在网站/source/language/mobile/目录下的lang_template.php文件中, 找到如下代码: 'reg_username' => '用户名必须为大于3位小于15位', 修改为: 'reg_username' => '用户名由 3 到 20 个字符组成',
5、在网站/emplate/default/member/目录下的register.htm文件中, 找到如下代码: <input autocomplete="off" class="px" id="{$this->setting['reginput']['username']}" maxlength="15" name="" required="" size="25" tabindex="1" type="text" /> 修改名字输入框的限制字符数量“maxlength”,比如修改为: <input autocomplete="off" class="px" id="{$this->setting['reginput']['username']}" maxlength="20" name="" required="" size="25" tabindex="1" type="text" /> maxlength="25"
6、在网站/uc_client/model/目录下的/user.php/文件中,找到如下代码: if($len > 15 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) { +修改为: if($len > 20 || $len < 3 || preg_match("/s+|^c:concon|[%,*"s<>&]|$guestexp/is", $username)) {
7、/static/js/register.js 269行errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符');
8、/source/module/forum/Forum_ajax.php elseif($usernamelen > 20) { 23行}