DEDECMS常见故障处理教程
DEDECMS是一款很受站长欢迎的CMS,基于PHP+MYSQL开发的开源网站管理系统。
相信有不少站长都使用过DEDECMS。
DEDECMS很好用,简单方便,但有时候有一些功能问题,靠官方解决是不大可能,而官方论坛基本上也冷暖自知。
下面整理一些可能用到的修改技巧,不定期持续更新。
1,memberinfos 标签不能调用管理员信息
memberinfos标签只能在内容页使用,可以读取该篇文档的作者相关信息。比如用户名,头像等资料。
但如果文章是后台采集,或者是管理员发布的,那么这个标签是读不出管理员数据的。
怎么让memberinfos能读取管理员的信息呢?
修改方法:
打开:
include/taglib/memberinfos.lib.php
找到:
if($row['matt']==10) return '';
注释掉这一行即可,例如:
//if($row['matt']==10) return '';
2,DEDECMS 会员空间不能分页
DEDECMS的会员空间如果存在多篇文档超出一页,不能分页,而且一直显示只有0篇文档。
这个BUG存在N多年了,官方一直没有处理。
解决办法:
打开:
include/arc.memberlistview.class.php
找到:
$countQuery = preg_replace("/select[ \r\n\t](.*)[ \r\n\t]from/i","Select count(*) as dd From",$this->sourceSql);
修改为:
$countQuery = preg_replace("#SELECT[ \r\n\t](.*)[ \r\n\t]FROM#is", 'SELECT COUNT(*) AS dd FROM', $this->sourceSql);
$countQuery = preg_replace("#ORDER[ \r\n\t]{1,}BY(.*)#is", '', $countQuery);
3,Safe Alert: Request Error step错误
最新的DEDECMS V5.7增强了SQL语句防注入功能引了的安全警告。
目前暂时没有完美的解决办法。
检查相关的页面模板,去掉或改写SQL语句。
具体涉及的页面,可以在data目录中查看md5编码的.txt的文件。
临时解决办法:
打开:
include/dedesql.class.php
找到:
$this->safeCheck = true;
修改为:
$this->safeCheck = false;
如果网站未出现这个错误,不建议修改,对网站安全会有一定隐患。
4,DEDECMS文章收藏功能 文章路径错误问题
文章内容页中的收藏功能收藏的文章路径有问题,收藏成功后在会员管理中的“我的收藏”中的列表中文章标题是对的,但文章的链接路径错误的完美解决方案:
打开:
member/templets/mystow.htm
找到:
<a href='<?php echo $row['url']?>' target='_blank'><?php echo $row["title"]?></a>
修改为:
<a href='archives_do.php?dopost=viewArchives&aid=<?php echo $row["arcid"]?>' target='_blank'><?php echo $row["title"]?></a>
5,DEDECMS收藏夹的文章无法删除
打开:
member/archives_do.php
找到:
$dsql->ExecuteNoneQuery("DELETE FROM #@__member_stow WHERE aid='$aid' AND mid='".$cfg_ml->M_ID."' AND type='$type';");
修改为:
$dsql->ExecuteNoneQuery("DELETE FROM #@__member_stow WHERE aid='$aid' AND mid='".$cfg_ml->M_ID."';");
6,DEDECMS留言本刷新重复提交的BUG
DEDECMS默认的留言板有一个BUG,那就是用户提交一个留言后再刷新就会出现重复提交的现象,如果无限刷新就会无限提交。
解决办法:
打开:
plus/guestbook.php
找到:
if($needCheck==1)
在上面添加一行:
ResetVdValue(); //防刷新
更多DEDECMS修改技巧及问题解决方法,后期持续更新,敬请观注!