我正在开发一个小帖子系统,所以我可以在我的网站上发帖子,人们可以喜欢也不喜欢它。
看起来像这样:
此刻,您可以根据需要多次投票和投票。我知道如何使用JavaScript无法点击图像,但我还需要一种在PHP中执行此操作的方法,因为有人可以使用fireBug或Chrome控制台再次点击按钮。
这可能是我用PHP实际制作的第一件事,所以我还是初学者。感谢您的任何建议。
答案 0 :(得分:8)
我不打算只为你编写代码,脚本网站上可能有很多可行的例子。以下是一些让您指向正确方向的提示:
会话变量 - $_SESSION[]
- 检查是否已设置,然后在投票后设置它们。只要他们不关闭浏览器,他们将无法再次投票。
Cookie - $_COOKIE[]
- 与会话相同,但即使关闭并再次打开浏览器也可以保留。
IP地址 - $_SERVER['REMOTE_ADDR']
- 在MySQL的IP表和投票表中保留记录。
登录系统 - 仅允许经过身份验证的用户进行投票,然后跟踪数据库中的投票。
上述任何组合都是可以接受的。希望能让你指出正确的方向。
答案 1 :(得分:6)
既然你要学习这个,我就不会发布任何完整的代码。不过,我可以概述一下。
执行此操作的最佳方法是将投票存储在数据库表(可能是MySQL)中:
| vote_id | user_id | post_id | vote |
其中:
vote_id
是一个自动增量列,可为每次投票创建唯一ID user_id
是提交此投票的用户的标识符post_id
是用户投票的帖子的标识符vote
确定此投票是上升还是下降。现在,您可以形成查询以确定某人是否已经对该帖子进行了投票,并采取相应行动。
答案 2 :(得分:0)
您需要在服务器端验证它,即在PHP代码中验证它。您可以通过IP地址(如果未登录用户/来宾)或通过用户名(对于登录用户)执行此操作
您无法通过客户端验证来阻止用户。