PHP-我希望用户无法投票超过一次
作者:互联网
我正在使用PHP和MySQL在小型社交网络上工作
我希望用户可以对帖子进行投票,而我已经做到了,但是问题是我希望用户只能对票进行一次投票.
这是我的PHP代码:
if (isset($_POST['heart']))
{
$identificateur = $_POST['hide'];
$Q = "UPDATE posts SET avis = avis + 1 where id=$identificateur ";
$bdd->query($Q);
}
这是upvote按钮的形式:
<form action="p.php" method="POST">
<label><?php
if ($avis != 0)
{
echo $avis;
}
?></label>
<input type="hidden" value="<?php echo "$id" ?>" name="hide">
<input type="submit" value=" " id="heart" name="heart">
</form>
每个用户都只能单击一次投票图标.
提前非常感谢您.
解决方法:
您需要具有第二个表,该表具有两个字段,post_id和voter_id. (post_voter).post_id具有一个包含帖子表ID的外键,而voter_id具有指向用户表的外键.该表指定帖子的投票者和用户投票的帖子.当用户尝试对帖子进行投票时,您必须检查post_voter表并获取具有等于该帖子的ID的post_id和等于该用户的id的voter_id的行数.如果count = 0,则表示该用户尚未对该帖子进行投票,他可以立即对其投票.否则,用户已经对该帖子进行了投票,因此无法再次对其进行投票.
标签:social,sql,mysql,php,social-networking 来源: https://codeday.me/bug/20191028/1952108.html