获取ID为article-PHP Mysqli的add to cart按钮

获取ID为article-PHP Mysqli的add to cart按钮,php,mysql,sql,Php,Mysql,Sql,我使用php mysqli创建了简单的添加到购物车系统,当用户单击该按钮(添加到购物车)时,他们将被重定向到查看购物车页面问题出在哪里?我的系统运行良好,但在最后一页(查看一篇文章)中,我显示了几个按钮(添加到购物车)。如果我在数据库中有2个产品,在最后一页(产品页)我会得到2个按钮(添加到购物车),这是我不需要的。我只需要显示该产品的按钮。 示例: 我有两种不同类别的产品,它们的链接是: 当用户在该页面上打开id为23的产品时,将显示文章23和文章35中的按钮。我不需要这个。我需要在id为

我使用php mysqli创建了简单的添加到购物车系统,当用户单击该按钮(添加到购物车)时,他们将被重定向到查看购物车页面问题出在哪里?我的系统运行良好,但在最后一页(查看一篇文章)中,我显示了几个按钮(添加到购物车)。如果我在数据库中有2个产品,在最后一页(产品页)我会得到2个按钮(添加到购物车),这是我不需要的。我只需要显示该产品的按钮。 示例:

我有两种不同类别的产品,它们的链接是:

  • 当用户在该页面上打开id为23的产品时,将显示文章23和文章35中的按钮。我不需要这个。我需要在id为23的产品上显示该文章的“仅显示”按钮

    首页代码:

    //initialize cart if not set or is unset
        if(!isset($_SESSION['cart'])){
            $_SESSION['cart'] = array();
        }
    
        //unset qunatity
        unset($_SESSION['qty_array']);
    
    这是我的代码:

    <?php
    $conn = new mysqli('localhost', 'root', 'password', 'database');
    $sql = "SELECT * FROM post";
    $query = $conn->query($sql);
    $inc = 4;
    while($row = $query->fetch_assoc()){
    $inc = ($inc == 4) ? 1 : $inc + 1; 
    if($inc == 1) echo "<div class='row text-center'>";  
    ?>
    <a href="../../../en/add_cart.php?post_id=<?php echo $row['post_id']; ?>" target="">Add to cart</a>
    <?php
    }
    if($inc == 1) echo "<div></div><div></div><div></div></div>"; 
    if($inc == 2) echo "<div></div><div></div></div>"; 
    if($inc == 3) echo "<div></div></div>";
    //end product row 
    ?>
    

    编辑这行代码:

    $sql = "SELECT * FROM post";
    
    致:


    这使用了SQL注入,这是非常糟糕的,即使是作为例子。占位符值是必需的。警告:您完全可以使用参数化的预处理语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。您似乎没有通过id在任何地方过滤结果。您需要实现这一点。
    $sql = "SELECT * FROM post WHERE post_id = '".$_GET['id']."'";