在我的应用程序中,用户可以发布他/她的文章,其他用户可以在投票时做出回应,就像 stackoverflow 对发布的问题和答案一样。
如何限制用户以使他/她不能投票两次?
在我的应用程序中,用户可以发布他/她的文章,其他用户可以在投票时做出回应,就像 stackoverflow 对发布的问题和答案一样。
如何限制用户以使他/她不能投票两次?
只需将用户 ID 存储在投票表中即可。
因此,您可以随时检查特定用户是否已经投票。
article-id, user-id, vote time 和 vote value 列就够了
两种方法:
<{userID}, {vote UP/DOWN}, {articleID}>
StackOverflow 使用数据库来存储所有这些数据。他们还会在一段时间后锁定您的投票,因此您无法撤消您的操作。
我认为最好的方法是将所有投票和用户 ID 存储在数据库中,如果它变得更大,您可以在一周/一个月/等之后从数据库中删除旧记录,并限制对超过一周的项目进行投票/month/etc,因此没有人可以对同一项目进行两次投票。
您将需要使用某种服务器端脚本来通过 IP 或其他一些唯一数据来记住用户。您必须存储 IP 或其他数据并记住它。当用户再次尝试赞成/反对投票时,您必须检查是否应该让他们这样做。你应该让他们做相反的事情,以防他们想改变他们的投票。您可以使用 PHP 和 MySQL(以及许多其他东西)来做到这一点。