美妙社 - MeiMiaoShe.com
不只是一个[美味]且[奇妙]的社区
现在注册
已注册用户请  登录
最近讨论的主题
节点活跃用户
DivivitYan  • 26 讨论
MMS_LJfOrMxm  • 1 讨论
不看回复  • 1 讨论
我的记忆误解了  • 1 讨论
罗钊刚  • 1 讨论
美妙社  ›  建站笔记

解决DZ留言板的BUG:回复的留言跑对方空间去了

DivivitYan听音乐 2021-11-7 21:45:336K 次点击 阅读模式     
个人空间的留言板逻辑有几个问题,最明显的问题是回复留言的显示。      

如果客人来留言了,显示在主人的留言板。如果主人给这条留言回复一下,正确的思路应该是这条回复显示在主人的留言板列表,紧接着客人的留言。这样客人留言、主人回复,内容是上下连接的,大家看起来是明白的。

BUG表现:客人的留言显示在主人的留言板,但主人的回复却没了,跑到客人的留言板上去了。

大家看留言的时候就莫名其妙:主人那里没回复,客人那里多几条回复却不知道为什么突然冒出来的。

造成这个BUG的原因是写数据表的时候,把id判断错误。

home_comment这个表中,有三个身份字段,留言作者--authorid、被留言或被回复的对象--uid、留言归谁所有--id

按正确的逻辑,客人来留言,应该属于主人的留言板,ID=主人的UID;主人回复留言,这条也属于主人的留言板,还是ID=主人的UID。

BUG就在这里了:当主人回复留言时,ID记成了客人的UID,也就是原作者的UID,把回复当成客人的了,当然就跑客人的留言板上去了。

修正方法:

\source\function\function_comment.php文件,第46行,把
  1. $id = $comment['authorid'];
复制代码
改成
  1. $id = $_G['uid'];
复制代码
这样逻辑就正确了,留言板上显示的内容全是对的。

这样修正以后,被留言的提醒那里,相应也需要修改,不然点开提醒后看不到留言内容。也就是把被留言对象的UID和链接都改正确。
啊舒服sdf
目前尚无回复
添加一条新回复
您需要登录后才可以回帖 登录 | 立即注册

本节点积分规则
站点统计  ·  手机版  ·  小黑屋  ·  帮助  ·  Archiver  ·  手机版  ·  小黑屋  ·  37 人在线  最高记录 291  ·  TOP
愿孤独的人都会唱歌,愿漂泊的人都有酒喝!
World is powered by solitude
GMT+8, 2024-4-18 10:19, Processed in 0.304313 second(s), 179 queries .

  Inspire by v2ex, Powered by Discuz! X3.5, Template by MeiMiaoShe.Com, © 2001-2024 Discuz! Team.