我目前正在一个有2个链接的网站上工作。 Upvote & downvote。 投票存储在mysql中,在一个名为“数据”,列“是”和“否”的表中PHP Mysql IF语句
我已经成功创建了一个查询来更新yes或no的计数,然后将值这一页。但是,目前用户可以通过垃圾邮件点击按钮,计数将继续增加。
我已经开始使用$ ip = $ _SERVER ['REMOTE_ADDR']记录IP地址; &把它们放在名为“ips”的表格中,并添加了“ipaddresses”列。
现在,我想改变我的代码,以便它会查询MySQL和检查“IPS”表$ IP,如果返回true,则死亡();否则,如果...执行upvote查询。这将使得一个人只能为每个IP投票一次。
这里是我当前的代码:
<?php
if ($_GET['vote']=="yes") {
// Connection to database
$connection=mysqli_connect("hostname-here","username-here","password-here","database-here");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($connection,"UPDATE data SET yes = (yes + 1) WHERE ID = $_GET[id];");
mysqli_close($connection);
echo "Voted.";
}
?>
帮助,将不胜感激,我GOOGLE了很多,无法找到任何工作。谢谢!
[你的脚本是在对SQL注入攻击的风险。(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
为什么不只用会话/令牌来做?当然不得不设置另一张桌子。并可能添加一个JS按钮来提交一次。使用IP地址不是非常有效。 –
我不关心SQLi。它是本地主机,不会去任何地方。我对会话/令牌没有经验,我只想为此做一个简单的修复。没有其他的。 –