韬客社区 收藏
尘土 10-05-28 09:39
1楼
[] 论坛上的一个BUG
最近常碰到发帖后提示“未定义操作,请返回”的提示:L 以我一知半解的电脑知识判断,原因是前一页的最后一贴发出后,论坛系统计算已经翻页到了下一页,但是实际上下一页还是空的 所以直接点击最后那一页的时候就会提示“未定义操作,请返回” 比如我现在的帖子,最新的是第20页,但是在我发出第19页最后一贴的时候,系统显示已经翻到了第20页,但是如果我直接点击第20也就会提示“未定义操作,请返回”;最初的时候我以为是帖子坏了,后来发现,只要再回复一个贴就能正常翻到第20页 这个估计是系统中的一个翻页设置的GUB [ 本帖最后由 尘土 于 2010-5-28 09:42 编辑 ]
stophere
2楼
10-05-28 09:42 回复
严重同意,我还以为是我的电脑问题。。。。。。。。
zero828
3楼
10-05-28 09:42 回复
最后个帖子被审核而已
尘土
4楼
10-05-28 09:44 回复
原帖由 zero828 于 2010-5-28 09:42 发表 最后个帖子被审核而已
不是的,最后一个帖子其实已经发出,但是是属于第19页的最后一贴而不是第20页的第一帖
baikal
5楼
10-05-28 09:44 回复
升级论坛吧
冷静冷静
6楼
10-05-28 09:51 回复
我赞同00的讲法,计数器显示已到20页,可实际可显示内容抓不到20页. 另种可能有回贴被删.
chj0525
7楼
10-05-28 09:52 回复
供管理员参考,班门弄虎了。。。。。 “未定义操作,请返回”错误提示的终极解决方案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"]."");
ieforex
8楼
10-05-28 12:53 回复
原帖由 chj0525 于 2010-5-28 09:52 发表 供管理员参考,班门弄虎了。。。。。 “未定义操作,请返回”错误提示的终极解决方案2010-05-27 12:41~~适用于dz所有版本~~ 有时候我们封了某个用户的ID并且删除了他所有的帖子,而他回过的帖子的回帖数并 ...
谢谢提醒,已经修改,看看效果如何
chj0525
9楼
10-05-28 17:08 回复
正敬业! 所有工作都能auto update就好啦,免得select、select.....累。。。