【发布时间】:2012-12-17 15:13:59
【问题描述】:
我正在制作一个网站,即新闻/博客类网站,人们可以在其中将 cmets 留给所发布的帖子。然后登录的用户可以给评论一个大拇指向上或向下。在我单击拇指时它工作正常,它使用 ajax 将计数添加到数据库并更新数字,它还阻止该人再次单击拇指,但如果您按 f5 刷新页面,您可以再次单击大拇指。我怎样才能阻止这种情况发生? 将此添加到数据库是我正在考虑的一个选项,但是该站点需要能够处理大量 cmets 并且用户可能会对 cmets 进行数千个拇指操作,因为它执行数据库表的简单操作在之后会很大很短的时间肯定会减慢页面加载速度,因为每次使用 cmets 查看页面时它都会查询一个非常长的表。
目前,我在评论表中保持竖起和向下的拇指数,因此它会查询 cmets 表并显示数字。如果有人竖起大拇指,您是否建议我添加一个包含用户 ID 和评论 ID 的新表,以便我可以查询该表,并且如果有一行用户 ID == 登录用户和评论 ID == 评论不允许?如果是这样,这就是我的想法,但正如我上面所说,它会导致一个巨大的表格,这肯定会减慢页面的加载速度
【问题讨论】:
-
保留您正在使用的
count,但也要存储执行thumb up的用户,并确保不允许第二次。 -
这是一个验证,在竖起大拇指/向下竖起大拇指时,您必须检查该用户是否已经投票,并相应地采取下一步......竖起大拇指..!!!!!!!!!
-
是的,您需要将其添加到数据库中。如果不存储信息,您将无法跟踪它发生的事实!您已经在您的网站上允许 cmets。想想评论需要多少空间而不是竖起大拇指。是的,您的数据库可能会变大,但解决方案是拥有一个设计良好且功能强大的数据库以供您的网站使用!
-
如果您所做的只是存储
comment-id和user-id的列表以竖起大拇指,这应该是一个相当快的数据库调用。您所要做的就是检查user-id是否已经在那个表中,因为comment-id已经...如果是这样,不要让他们 -
如果您不想扩展您的数据库,您可以将这些信息保存在 cookie 中 - 不是很好(因为用户可以删除他们的 cookie),但是一个快速的解决方案
标签: php javascript html sql ajax