论坛上的一个BUG
最近常碰到发帖后提示“未定义操作,请返回”的提示:L
以我一知半解的电脑知识判断,原因是前一页的最后一贴发出后,论坛系统计算已经翻页到了下一页,但是实际上下一页还是空的
所以直接点击最后那一页的时候就会提示“未定义操作,请返回”
比如我现在的帖子,最新的是第20页,但是在我发出第19页最后一贴的时候,系统显示已经翻到了第20页,但是如果我直接点击第20也就会提示“未定义操作,请返回”;最初的时候我以为是帖子坏了,后来发现,只要再回复一个贴就能正常翻到第20页
这个估计是系统中的一个翻页设置的GUB
[ 本帖最后由 尘土 于 2010-5-28 09:42 编辑 ]
众里寻她千百度,蓦然回首,却在灯火阑珊处
发表于:2010-05-28 01:42只看该作者
2楼
严重同意,我还以为是我的电脑问题。。。。。。。。
SURVIVE
发表于:2010-05-28 01:42只看该作者
3楼
最后个帖子被审核而已
挣的是卖白菜的钱,操的是卖白粉的心!!
一年不再3单~!!HOHO
4楼
众里寻她千百度,蓦然回首,却在灯火阑珊处
发表于:2010-05-28 01:44只看该作者
5楼
升级论坛吧
韬客社区www.talkfx.co
发表于:2010-05-28 01:51只看该作者
6楼
我赞同00的讲法,计数器显示已到20页,可实际可显示内容抓不到20页.
另种可能有回贴被删.
铁的纪律。
发表于:2010-05-28 01:52只看该作者
7楼
供管理员参考,班门弄虎了。。。。。
“未定义操作,请返回”错误提示的终极解决方案2010-05-27 12:41~~适用于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"]."");
概率游戏的法则就是见好就收,别玩什么理论。
发表于:2010-05-28 04:53只看该作者
8楼
我的毛病 想赢怕输 犹豫不定 盲目跟从 短线长做 长线短做 追涨杀跌 不做计划 擅改目标 贪多嫌少 逆市而为
最大的毛病:以上错误一犯再犯,怨天尤人,只说别人 不看自己。吃的是草,挤的是眼睛。
发表于:2010-05-28 09:08只看该作者
9楼
正敬业! 所有工作都能auto update就好啦,免得select、select.....累。。。
概率游戏的法则就是见好就收,别玩什么理论。