dedecms注册中文会员无法打开空间的解决方法

所属分类: CMS教程 / dedecms 阅读数: 796
收藏 0 赞 0 分享

其实说到底还是个字符编码转换问题。

因为汉字没有在判断uid值时出现了错误,导致系统无法识别用户,所以发生了“你访问的用户可能已经被删除!”错误

方法是
在“member\config.php”文件的最后,PHP结束之前添加 isUTF8($str)函数

复制代码
代码如下:

function isUTF8($str){
$length=strlen($str);
for($i=0;$i<$length;$i++){
$high=ord($str{$i});
if(($high==0xC0)||($high==0xC1)){
return false;
}elseif($high<0x80){
continue;
}elseif($high<0xC0){
return false;
}elseif($high<0xE0){
if(++$i>=$length)
return true;
elseif(($str{$i}&"\xC0")=="\x80")
continue;
}elseif($high<0xF0){
if(++$i>=$length){
return true;
}elseif(($str{$i}&"\xC0")=="\x80"){
if(++$i>=$length)
return true;
elseif(($str{$i}&"\xC0")=="\x80")
continue;
}
}elseif($high<0xF5){
if(++$i>=$length){
return true;
}elseif(($str{$i}&"\xC0")=="\x80"){
if(++$i>=$length){
return true;
}elseif(($str{$i}&"\xC0")=="\x80"){
if(++$i>=$length)
return true;
elseif(($str{$i}&"\xC0")=="\x80")
continue;
}
}
}
return false;
}
return true;
}

然后修改“member\index.php”中的代码:将

复制代码
代码如下:

$tmpstr = @gb2utf8($uid);
$tmpstr2 = @utf82gb($tmpstr);
if($tmpstr2==$uid) $uid = $tmpstr;

修改为

复制代码
代码如下:

if(!isUTF8($uid)) $uid = @gb2utf8($uid);

问题解决。

更多精彩内容其他人还在看

dedecms列表页标题title后加上页数其标题不重复的方法

在列表页的标题后加上页数使列表页的标题不重复这样更利于优化,下面是从搜索整理的解决方法,有类似需求的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

解决Dedecms生成RSS地图地址出错全都多了一个网址的问题

DEDE织梦CMS生成RSS地图全都多了一个网址,这种情况下,就是域名被重复生成了一次,导至RSS地址出错。其实对于这个BUG,处理方法很简单,有类似情况的朋友可以了解下本文
收藏 0 赞 0 分享

dede调取三级栏目名及栏目下的内容列表的方法

网站根据需要,把地区划成省-市-文章的层级结构,正如标题所言dede怎么调取三级栏目名及栏目下的内容列表,具体的实现如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

DEDE模板中如何运行php脚本和变量在需要操作数据库字段时

经常会需要直接对dede数据库的底层字段进行处理,如果dede中没有相应的函数,那么我们就要使用其他的方法来实现了,正如标题所言的运行php脚本和php变量,下面有个不错的示例,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容

以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,不过最近发现个不错的方法,大家可以学习下
收藏 0 赞 0 分享

DEDECMS网站文章列表页更新点击次数的问题完美解决

如何在DEDECMS的网站里,当浏览文章时,自动增加一次点击次数;而显示文章列表时,则仅显示点击量(不增加点击次数),具体实现如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

解析DedeCms中data目录下的sessions是什么文件

以下是对DedeCms中data目录下的sessions是什么文件,进行了详细的介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

dedecmsV5.7版 tag标签长度的修改方法详解

在dede程序中,很多时候替换的标签长度为12个字节也就是6个汉字非常的不够我们使用怎么办呢?这时我们可以简单的修改一下dedecms一些代码即可解决,需要的朋友可以参考下
收藏 0 赞 0 分享

浅析DedeCMS投票模块漏洞的解决方法

DedeCMS投票模块有朋友反映投票主题的选项经常被sql注入删除,经过脚本之家小编查看代码发现投票模块代码没有对sql参数进行转换,导致不法分子sql注入。只要将addslashes()改为mysql_real_escape_string()即可
收藏 0 赞 0 分享

解析织梦DedeCMS图片按月存放的实现方法

采集文稿的图片总是按日存放,如何以年月存放?以下就是对织梦DedeCMS图片按月存放的实现方法进行了详细的分析介绍,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多