我正在使用PHP和MysqL在小型社交网络上工作
我希望用户可以对帖子进行投票,而我已经做到了,但是问题是我希望用户只能对票进行一次投票.
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,则表示该用户尚未对该帖子进行投票,他可以立即对其投票.否则,用户已经对该帖子进行了投票,因此无法再次对其进行投票.