Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法添加数据或在购物车中未显示使用$\u会话_Php_Mysql_Session_Shopping Cart - Fatal编程技术网

Php 无法添加数据或在购物车中未显示使用$\u会话

Php 无法添加数据或在购物车中未显示使用$\u会话,php,mysql,session,shopping-cart,Php,Mysql,Session,Shopping Cart,我正在创建一个购物车,其中有两个网页;purchase.php(您可以在其中查看所有可用产品的列表并将其添加到购物车)和cart.php(您可以在其中查看已添加的所有项目并删除项目或清除所有购物车,以及项目总数) 这是我在purchase.php中的代码: <?php session_start(); ?> <!DOCTYPE html> <html lang="en"> <head> <title>Purc

我正在创建一个购物车,其中有两个网页;purchase.php(您可以在其中查看所有可用产品的列表并将其添加到购物车)和cart.php(您可以在其中查看已添加的所有项目并删除项目或清除所有购物车,以及项目总数)

这是我在purchase.php中的代码:

<?php session_start();
?>
<!DOCTYPE html>
    <html lang="en">
    <head>
      <title>Purchase</title>

    <link rel = "stylesheet" href="bootstrap/css/bootstrap.css">
        <!-- Styles -->
        <link href="css/bootstrap-combined.min.css" rel="stylesheet">
        <link href="datatable-bootstrap.css" rel="stylesheet">
        <!-- JS -->
        <script src="js/jquery.min.js"></script>
        <script src="js/bootstrap.min.js"></script>
        <script src="js/jquery.dataTables.min.js"></script>
        <script src="datatable-bootstrap.js"></script>

    <?php
    require('config/db_conn.php');


    $fetch = mysql_query("SELECT * FROM product") or die(mysql_error());





    if(!empty($_POST["add"])) {
                $productByCode = mysql_query("SELECT * FROM product WHERE p_code='" . $_POST["p_code"] . "'");
                $itemArray = array($productByCode["p_code"]=>array('name'=>$productByCode["p_name"], 'code'=>$productByCode["p_code"], 'quantity'=>$_POST["quantity"], 'price'=>$productByCode["p_price"]));

                if(!empty($_SESSION["cart_item"])) {
                    if(in_array($productByCode["p_code"],$_SESSION["cart_item"])) {
                        foreach($_SESSION["cart_item"] as $k => $v) {
                                if($productByCode["p_code"] == $k)
                                    $_SESSION["cart_item"][$k]["quantity"] = $_POST["quantity"];
                        }
                    } else {
                        $_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray);
                    }
                } else {
                    $_SESSION["cart_item"] = $itemArray;
                }
            } 


    ?>
    </head>
    <style type="text/css">
    body
    {
    background-color: #6BBEE4;
    }

    th
    (
    text-align:center;
    )

    td
    (
    align:center;
    )

    .text-center
    {
        text-align: center !important;
    }

    img
    {
        height: 200px;
        width: 200px;
    }

    .hide
    {
        visibility: none;
    }

    .quantitySize
    {
        width: 90px;
    }

    .pull
    {
        margin-left: 220px;
        margin-top: -360px;
        position: absolute;
    }

    </style>
    <body>



    <nav class="navbar navbar-inverse ">
      <div class="container-fluid ">
        <div class="navbar-header">
          <a class="navbar-brand" href="home.php" >MyComputer</a>
        </div>
        <div>
          <ul class="nav navbar-nav navbar-right">
            <li><a href="home.php">Home</a></li>
            <li class="active"><a href="purchase.php">Purchase</a></li>     
            <li><a href="cart.php"><span class="glyphicon glyphicon-shopping-cart"></span> Cart</a></li>
            <li><a href="logout.php"><span class="glyphicon glyphicon-log-out"></span> Logout</a></li>

        </div>
      </div>
    </nav>





            <?php while($result=mysql_fetch_array($fetch))  { ?>
            <div class="well form-container-">
                <form method = "post" action="cart.php?action=add&code=<?php echo $result['p_code']?>">
                    <div class="form-group"><img src="<?php echo $result['p_image']?>"></div>
                    <div class="form-group"><?php echo $result['p_name']?></div>
                    <div class="form-group"><?php echo $result['p_code']?></div>
                    <div class="form-group"><?php echo $result['p_price']?></div>
                    <div class="form-group"><input class="quantitySize" type="text" name="quantity" value="1"/>&nbsp;&nbsp;&nbsp;&nbsp;<input type = "submit" class="btn btn-primary" name="add" value="Add to Cart"></div>
                </form>
                <form class="pull">
                <div class="form-group"><p><?php echo $result['p_desc']?></p></div>
                </form>
            </div>
            <?php }?>
        </div>

    </body>
    </html>

购买

您需要执行
session_start()。将其添加到
purchase.php
的顶部,或者将其放在另一个文件中,并在两个文件中都需要它

您在
purchase.php
中的表单正在发布到
cart.php
,因此
purchase.php
中的此代码将不会运行:

if(!empty($_POST["add"])) {
//code
}

您是否在文件顶部设置了session_start()?var_dump($_SESSION['cart_item'])的结果是什么;死亡@MHakvoort.,我忘了包括会话_start(),但我现在已经编辑了它,但仍然没有显示项目。顺便说一句,我对var_dump不太熟悉。您似乎调用了purchased.php中未定义的会话,请检查again@JeanGkol请你详细说明一下好吗?谢谢顺便说一下,我已经在我的购买上设置了session_start()。phppls首先查看您的HTML结构。回答这个问题让我感到困惑。应该放在标记的上方,并将PHP脚本放在标记的下方或会话_start()的下方。在这里,我没有看到标记:(。然后尝试再次运行它。我现在已经编辑了该标记,但项目仍然没有显示。我已传输代码'if(!empty($\u POST['add']))到我的cart.php,但我现在得到了这个错误:解析错误:语法错误,如果在C:\xampp\htdocs\project\user\cart.php的第13行中出现意外的T\u,我已经更新了代码并修复了我提到的错误,但是我得到了另一个类似这样的错误:`注意:未定义的索引:C:\xampp\htdocs\project\user\cart.php的第115行中的p\u价格。我得到了此类未定义的索引。你知道吗?这意味着$item中不存在p_价格。尝试转储$item以查看其中的内容。
if(!empty($_POST["add"])) {
//code
}