【发布时间】:2012-10-10 01:42:06
【问题描述】:
伙计们,我制作了一个基于 jquery 和 css 的星级评分系统。现在我真的想不出如何将用户投票保存到数据库。最重要的是如何限制一个用户只能投一票。
由于该网站的访问者数量巨大,我无法将每个用户的 ip 保存到数据库中。此外,我认为它效果不佳,因为即使我的 IP 地址本身也是动态的。每次我断开并重新连接我的互联网时,我的 ip 都会改变,我可以再次投票。所以我认为这行不通。
这就是我考虑将选票保存到数据库的想法:
我只保存页面收到的投票数,不保存页面的总评分。
并且将评分与投票数分开。所以它会给我平均评分。对吗?
但我想不出办法将一位用户限制为一票。请帮忙。
【问题讨论】:
-
可以在投票时使用cookies并设置一个cookie(有权限)吗?
-
如果只存储一个ip地址已经很昂贵了,你将找不到任何可靠的解决方案。
-
这种方法对您来说可能听起来很愚蠢,它只允许您网站的成员进行评分。
-
@KyleHudson 我想到了,但想不出如何存储用户投票的所有页面的信息。
-
@MaSK 您可以在 cookie/会话中存储多维数组。如果您真的担心几千行,那么您可能需要研究数据库优化。我运行一个包含大约 20,000,000 行(innodb 和 myisam 的混合)的 saas 应用程序。
标签: php rating-system