小龙博客

小龙与您一起关注互联网动态,并及时和大家分享讨论网站运营的最新技术资讯!

导航

dz论坛 “未定义操作,请返回”错误提示的终极解决方案

有时候我们封了某个用户的ID并且删除了他所有的帖子,而他回过的帖子的回帖数并没有更新,导致该帖子的回帖数和实际情况不符,这时如果我们再访问这个帖子的最后一页就会出现“未定义操作”的错误。

解决的原理就是重新计算出错帖子的回帖数,然后更新cdb_threads表。

如果版主或管理员进行了修复操作,或者管理员在论坛后台重建主题帖数都可以修复这种错误,但我们不可能挨个帖子去修复,或者时刻到后台重建主题贴数。

如果当访客访问到出错的帖子,然后系统自动修复这个帖子,那么就可以发现一个自动修复一个,而访客丝毫不会收到这个错误提示的影响,闲言少叙,给出解决方案:

打开论坛安装目录里面的viewthread.php文件,搜empty($postlist),把empty($postlist)下面的一行

showmessage('undefined_action', NULL, 'HALTED');换成下面的三行
$replies = $db->result_first("SELECT COUNT(*) FROM {$tablepre}posts WHERE tid='$tid' AND invisible='0'") - 1;
$db->query("UPDATE {$tablepre}threads SET replies='$replies' WHERE tid='$tid'");
header("Refresh:0;url=".$_SERVER["REQUEST_URI"]."");

<< 十部国产大片被骂排行榜淘宝对外宣布其大物流计划 >>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Walle Build 91204 小龙 Some Rights Reserved.