Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304411
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

dedecms, 提示, 访问, 用户, 可能

【问题描述】当前使用的版本是DedeCMSV5.5的UTF8版本。
库中已经注册了若干用户,从问答模块点击某用户名时却无法进入其个人空间,显示“您访问的用户可能已经被删除!
”提示。
依次检查所有用户,并非所有汉字名用户不能用,个别可用的用户名完全无规律可循,即便出现了错误的汉字用户名如果将其连接输入在浏览器的地址栏中,却能够正常的打开。
在网络上寻找错误解决具体的方法,发现Dede官网中提出此问题的人很多,而且从5.3开始就一直存在这个问题,有个别朋友提出的底层解决方案,修改空间模版中“..\member\space\company”文件夹下的index.htm,introduce.htm,listshop.htm,contact.htm,guestbook.htm五个文件中{dede:value.mtypename/}数据库语句的company替换为{dede:var.userid_e/}变量的具体的方法,经过实验并没有解决问题。
又看到网上具体的教程中发布的文章提到的在保留uid访问方式同时增加mid访问的具体的方法,经过实验问题依然存在。
具体的教程中提到将“member/index.php”文件中的if(empty($uid)){$uid='';}else{[email 988365@gmail.com]($uid);[email 988365@gmail.com]($tmpstr);if($tmpstr2==$uid)$uid=$tmpstr;}具体代码如下更改为if(empty($uid)){if(empty($_REQUEST['mid'])){$uid='';}else{$uid=$dsql->GetOne("SelectuseridFrom`dede_member`wheremid='".$_REQUEST['mid']."';");if(!is_array($uid)){$uid='';}else{$uid=$uid['userid'];}}}分析这两段具体代码如下,小编提出的具体代码如下中增加了从网站数据库中重新读出用户ID的内容重新给uid传递一个值,但是把源网站程序中用于判断uid值是否UTF8编码格式的内容给丢了。
这样的修改大概可以解决同时出现了uid、mid两个访问参数撞车时的问题,但是依然解决不了UTF8编码汉字用户名的问题。
还有些网友干脆认真提出方案限制用户使用汉字名注册,具体的方法相当详备。
不过如果使用UTF8编码就放弃汉字用户名注册未免有点说不过去了,这里就不再详转具体具体的方法了。
【问题分析】从故障的现象看,应该是在判断uid值是出现了错误,导致系统无法识别用户,仔细分析官方具体代码如下中对于汉字UTF8编码的uid判断数据库语句,是利用了GB2UTF8和UTF82GB两个函数进行两次转换然后判断具体代码如下。
在网上找了关于UTF8和GB编码的判断问题,发现其实远远不是这么简单的事儿。
在GB编码和UTF8编码中,存在着部分汉字编码是相同或某部分字节相同的情况,这样利用两次转换的具体的方法判断编码是很不准确的,于是出现了没有重码的汉字用户名可以正确判断并使用,而出现重码的汉字名不能正确判断,发生了“您访问的用户可能已经被删除!
”错误。
【解决具体的方法】在网络上搜索了一些关于UTF8编码判断的具体代码如下,找到了一个用PHP编写的判断函数。
将此名为isUTF8($str)的函数添加在“member\config.php”文件的最后:[php]functionisUTF8($str){$length=strlen($str);for($i=0;$i=$length)returntrue;elseif(($str{$i}&"\xC0")=="\x80")continue;}elseif($high=$length){returntrue;}elseif(($str{$i}&"\xC0")=="\x80"){if( $i>=$length)returntrue;elseif(($str{$i}&"\xC0")=="\x80")continue;}}elseif($high=$length){returntrue;}elseif(($str{$i}&"\xC0")=="\x80"){if( $i>=$length){returntrue;}elseif(($str{$i}&"\xC0")=="\x80"){if( $i>=$length)returntrue;elseif(($str{$i}&"\xC0")=="\x80")continue;}}}returnfalse;}returntrue;}[/php]并修改“member\index.php”中的具体代码如下:将[email 988365@gmail.com]($uid);[email 988365@gmail.com]($tmpstr);if($tmpstr2==$uid)$uid=$tmpstr;修改为if(!isUTF8($uid))[email 988365@gmail.com]($uid);故障排除。
这里仅对官方具体代码如下中判断用户UTF8编码的具体的方法进行了修改,并没有对小编提出的mid参数问题进行修改,若出现了小编提出的故障现象相信他们提到的具体的方法是不错的解决方案。
此文已扼要列出了小编的具体的方法备考。
                                                            删除                        ,            提示                        ,            用户
@版权声明 名站网址导航声明: 1.该文观点仅代表作者本人,名站网址导航系信息发布平台,名站网址导航仅提供信息存储空间服务。 2.名站网址导航所发布的一切资源、破解补丁、注册机和注册信息及软件的解密分析文章等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该网站程序,请支持正版软件,购买注册,得到更好的正版服务。 3.如有侵权请邮件与咱们联系删除或处理(邮箱:[email 988365@gmail.com]),本站将立即改正,谢谢。

dedecms上传图片水印失效的解决方法XRTAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

XRTAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

分享到:

  网友投稿

注册时间:

网站:0 个   APP:0 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304411

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市