在投票系统上每人只允许一票

Sha*_*313 3 php voting-system

我正在制作一个小帖子系统,所以我可以在我的网站上发帖子,人们可以喜欢和不喜欢它.

它看起来像这样:

投票系统

目前,您可以根据需要多次投票和投票.我知道如何使用JavaScript无法点击图像,但我还需要一种在PHP中执行此操作的方法,因为有人可以使用fireBug或Chrome控制台再次点击按钮.

这可能是我在PHP中实际做的第一件事,所以我还是初学者.谢谢你的任何建议.

Tim*_*ers 8

我不打算只为你编写代码,脚本站点上可能有很多可行的例子.以下是一些让您指出正确方向的提示:

会话变量 - $_SESSION[]- 检查是否已设置,然后在投票后设置它们.只要他们不关闭浏览器,他们将无法再次投票.

Cookie - $_COOKIE[]- 与会话相同,但即使关闭并再次打开浏览器也可以保留.

IP地址 - $_SERVER['REMOTE_ADDR']- 在MySQL的IP表和投票表中保存记录.

登录系统 - 仅允许经过身份验证的用户进行投票,然后跟踪数据库中的投票.

上述任何组合都是可以接受的.希望能让你指出正确的方向.


nic*_*ckb 6

既然你要学习这个,我就不会发布任何完整的代码.不过,我可以概述一下.

执行此操作的最佳方法是将投票存储在数据库表(可能是MySQL)中:

| vote_id | user_id | post_id | vote |
Run Code Online (Sandbox Code Playgroud)

哪里:

  • vote_id 是一个自动增量列,为每个投票创建一个唯一的ID
  • user_id 是提交此投票的用户的标识符
  • post_id 是用户投票的帖子的标识符
  • vote 确定此投票是上升还是下降.

现在,您可以形成查询以确定某人是否已经对该帖子进行了投票,并采取相应行动.