无法将产品添加到购物车

时间:2019-01-25 11:54:15

标签: php mysql

当我单击“添加到购物车”时,尽管按钮从“添加到购物车”更改为“正在添加”,这意味着jquery正常工作。

我正在创建具有“添加到购物车”功能的电子商务,但是当我单击“添加到购物车”时,产品名称未添加到购物车。尽管按钮发生了变化,这意味着json在起作用,但是选择不起作用。

在购物车中添加农产品(manage_cart.php)

    if(isset($_POST["product_code"])) {
        foreach($_POST as $key => $value){
            $product[$key] = filter_var($value, FILTER_SANITIZE_STRING);
        }   
        $statement = $this->conn->prepare("SELECT product_name, product_price FROM products WHERE product_code=? LIMIT 1");
        $statement->bind_param('s', $product['product_code']);
        $statement->execute();
        $statement->bind_result($product_name, $product_price);
        while($statement->fetchAll()){ 
            $product["product_name"] = $product_name;
            $product["product_price"] = $product_price;     
            if(isset($_SESSION["produce"])){ 
                if(isset($_SESSION["produce"][$product['product_code']])) {             
                    $_SESSION["produce"][$product['product_code']]["product_qty"] = $_SESSION["produce"][$product['product_code']]["product_qty"] + $_POST["product_qty"];              
                } else {
                    $_SESSION["produce"][$product['product_code']] = $product;
                }           
            } else {
                $_SESSION["produce"][$product['product_code']] = $product;
            }   
        }   
        $total_product = count($_SESSION["produce"]);
        die(json_encode(array('produce'=>$total_product)));
    }

index.php

     <?php
            $newstoreobj = $storeobj->select_product();

            if(count($newstoreobj)){
              foreach ($newstoreobj as $data) {
                ?>
                <form class="product-form">
                    <div class="col-md-3">
                        <a href="view_product/product.php?product_id=<?php echo  $data['product_id'] ?>/product<?php echo $data['product_name'].'.html'?>">
                            <div class="prods">
                                <div style="height:250px">
                                    <img src="upload/<?php echo $data['image1'];?>" class="img-responsive" style="padding:20px;height:100%;width:100%" />
                                </div>
                                <div>
                                    <p class="text-center" style="color:black; font-weight: bolder;"><?php echo $data['product_name'];?></p>
                                    <p class="text-center" style="color:red;font-weight:bold;font-size:24px">$<?php echo $data['product_price'];?>.00 </p>
                                </div>
                                </a>
                                <select name="product_qty" style="display: none;">
                                <option value="1" selected="">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>
                                </select>
                                <div class="buton" style="width:100;">

                                      <input name="product_code" type="hidden" value="<?php echo $data["product_code"];?>"> 
                                    <button type="submit" class="btn btn-block btn-danger">Add to Cart</button>
                                </div>
                            </div>


                    </div>
                     </form>
                    <?php
                }
            }
            ?>

    script.js

    // add item to cart
        $(".product-form").submit(function(e){
            var form_data = $(this).serialize();
            var button_content = $(this).find('button[type=submit]');
            button_content.html('Adding...'); 
            $.ajax({
                url: "manage_cart.php",
                type: "POST",
                dataType:"json",
                data: form_data
            }).done(function(data){         
                $("#cart-container").html(data.products);
                button_content.html('Add to Cart');             
            })
            e.preventDefault();
        }); 

当我单击“添加到购物车”按钮时,我希望将产品添加到购物车。谢谢

1 个答案:

答案 0 :(得分:0)

其背后的原因之一是您在die(json_encode(array('produce'=>$total_product)));中定义了manage_cart.php

这意味着结果存储在produce中,当您使用jquerydata.products中得到结果时。

这就是为什么它没有得到结果。

因此,请用manage_cart.phpjQuery代码在一个地方替换名称