discuz出现:用户名包含敏感字符 用户名不得超过 15 个字符 怎么解决?最近在用火车头发布discuz的时候,发现了总有一些文章发布不成功。找了很多原因后来才找到解决办法。
原来并非火车头的问题,是因为你的discuz论坛的注册用户名设置了用户名不能超过15个字符。这个我们改一下就可以了。
1、修改注册类和用户名检查提示
打开 /source/class/class_member.php 文件
找到
打开 /source/module/forum/forum_ajax.php 文件
找到
找到
打开文件 static/js/register.js
找到
把上面的15改成你需要的数字
2、修改语言包提示语句
打开 /source/language/lang_message.php 文件
找到
'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',
把上面的15改成你需要的数字
打开 /source/language/mobile/lang_template.php 文件
找到
把上面的15都改成你需要的数字
到这里就全部改完了。
原来并非火车头的问题,是因为你的discuz论坛的注册用户名设置了用户名不能超过15个字符。这个我们改一下就可以了。
1:修改了/uc_client/model/user.php和/uc_server/model/user.php文件中(第44行)及修改数据库用户名长度值后
2:下面是第二种方法:
1、修改注册类和用户名检查提示
打开 /source/class/class_member.php 文件
找到
$usernamelen = dstrlen($username);if($usernamelen < 3) {showmessage('profile_username_tooshort');} elseif($usernamelen > 15) {showmessage('profile_username_toolong');}
打开 /source/module/forum/forum_ajax.php 文件
找到
if($usernamelen < 3) {showmessage('profile_username_tooshort', '', array(), array('handle' => false));} elseif($usernamelen > 15) {showmessage('profile_username_toolong', '', array(), array('handle' => false));}
找到
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;}}
打开文件 static/js/register.js
找到
if(unlen < 3 || unlen > 15) {errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符');return;}
把上面的15改成你需要的数字
2、修改语言包提示语句
打开 /source/language/lang_message.php 文件
找到
'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',
把上面的15改成你需要的数字
打开 /source/language/mobile/lang_template.php 文件
找到
'reg_username' => '用户名必须为大于3位小于15位','registerinputtip' => '用户名:3-15位',
把上面的15都改成你需要的数字
到这里就全部改完了。
