编程语言
首页 > 编程语言> > PHP-我希望用户无法投票超过一次

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