未定义的数组键"quantity"出现在C:\xampp\htdocs\login\cart-item.php中
P粉549412038
P粉549412038 2023-09-05 20:18:59
[PHP讨论组]

我正在按照教程视频进行操作,但是数据库中没有输出表格。我按照视频中的每一步操作。我还尝试将数量初始化为变量,但仍然无法工作

<?php
    session_start();
    $connect = mysqli_connect("localhost", "root", "", "login_sample_db");
    if(isset($_POST['add_to_cart'])){
        if(isset($_SESSION['cart'])){
            $session_array_id = array_column($_SESSION['cart'], "id");

            if(!in_array($_GET['id'], $session_array_id)){
                $session_array = array(
                    'id' => $_GET['id'],
                    "name" => $_POST['name'],
                    "price" => $_POST['price'],
                    "quantity" => $_POST['quantity']
                );
                $_SESSION['cart'][] = $session_array;
            }

        }else{
            $session_array = array(
                'id' => $_GET['id'],
                "name" => $_POST['name'],
                "price" => $_POST['price'],
                "quantity" => $_POST['quantity']
            );
            $_SESSION['cart'][] = $session_array;
        }
    }
?>


<!DOCTYPE html>
<html>
<head>
    <title>Products</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
    <link rel="stylesheet" type="text/css" href="cart-item.css">
    <style>
        
    </style>
</head>
<body>

    <div class="container-fluid">
        <div class="col-md-12">
            <div class="row">
                <div class="col-md-6">
                    <h2 class="text-center">购物车数据</h2>
                    <div class="col-md-12">
                        <div class="row">
                            <?php
                                $query = "SELECT * FROM cart_item";
                                $result = mysqli_query($connect, $query);

                                while($row = mysqli_fetch_array($result)){
                                    ?>
                                    <div class="col-md-4">
                                        <form method="post" action="cart-item.php?id=<?= $row['id'] ?>">
                                            <h5 class="text-center"><?= $row['name']; ?></h5>
                                            <h5 class="text-center">$<?= number_format($row['price'], 2); ?></h5>
                                            <input type="hidden" name="name" value="<?= $row['name'] ?>">
                                            <input type="hidden" name="price" value="<?= $row['price'] ?>">
                                            <input type="number" name="quantity" value="1" class="form-control">
                                            <input type="submit" name="add_to_cart" class="btn btn-warning btn-block my-2" value="添加到购物车">
                                        </form>
                                    </div>
                                    <?php
                                }
                            ?>
                        </div>
                    </div>
                </div>
                <div class="col-md-6">
                    <h2 class="text-center">已选择的商品</h2>
                    <?php
                        $total = 0;
                        $output = "";
                        $output .= "
                            <table class='table table-bordered table-striped'>
                                <tr>
                                    <th>ID</th>
                                    <th>商品名称</th>
                                    <th>商品价格</th>
                                    <th>商品数量</th>
                                    <th>总价格</th>
                                    <th>操作</th>
                                </tr>
                        ";

                        if(!empty($_SESSION['cart'])){
                            foreach($_SESSION['cart'] as $key => $value){
                                $output .= "
                                    <tr>
                                        <td>".$value['id']."</td>
                                        <td>".$value['name']."</td>
                                        <td>".$value['price']."</td>
                                        <td>".$value['quantity']."</td>
                                        <td>$".number_format($value['price'] * $value['quantity'])."</td>
                                        <td>
                                            <a href='cart-item.php?action=remove&id=".$value['id']."'>
                                                <button class='btn btn-danger btn-block'>移除</button>
                                            </a>
                                        </td>
                                    </tr>
                                ";
                                $total = $total + $value['quantity'] * $value['price'];
                            }
                            $output .= "
                                <tr>
                                    <td colspan='3'></td>
                                    <td></b>总价格</b></td>
                                    <td>".number_format($total, 2)."</td>
                                    <td>
                                    <a href='cart-item.php?action=clearall'>
                                    <button class='btn btn-warning btn-block'>清空</button>
                                    </a>
                                    </td>
                                </tr>
                            ";
                        }
                        echo $output;
                    ?>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

我多次检查了数量数组键并与视频进行比较,与视频中的相同。我还应该尝试什么其他的东西吗?数据库中的表格也没有包含数量

P粉549412038
P粉549412038

全部回复(1)
P粉132730839

如果我了解更多细节,我会发表评论的,但你确定你的数据库架构和表定义正确吗?你的INSERT/UPDATE逻辑在哪里?错误发生在哪里,具体是什么错误?请提供更多信息。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号