向购物车中添加物品不工作,看不到任何错误


Adding items to a cart not working, can't see any errors

我正在按照网上教程设计一个购物车。

我尽可能地跟踪每一个细节,只做了一些改变,比如变量名等。

我已经检查了下面的代码,但是当我点击"添加到购物车"时,它没有在侧栏中显示添加的项目。

有什么建议吗?(代码只是与侧边栏相关的部分,product php位于单独的php文件中。)

<div id="sidebar">
<h1>Cart</h1>
<?php
if(isset($_SESSION['cart'])){
$sql = "SELECT * FROM products WHERE SKU IN("; 
foreach($_SESSION['cart'] as $id => $value){
$sql .= $id. ",";
}
$sql = substr($sql,0,-1) . ") ORDER BY SKU ASC";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query)){
?>
<p><?php echo $row['name']; ?><?php echo $_SESSION['cart'][$row['SKU']]['quantity']; ?></p>
<a href="index.php?page=cart">Go To Cart</a>
<?php
}
}else {
echo "<p>Your part is empty. <br />Please add some products</p>";
}
?>
</div>

product PHP文件中用于添加的代码段:

<?php
if(isset($_GET['action']) && $_GET['action'] == "add"){
$id = $_GET['id'];
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
} else {
$sql2 = "SELECT * FROM products WHERE SKU=$id";
$query2 = mysql_query($sql2);
if(mysql_num_rows($query2) != 0){
$row2 = mysql_fetch_array($qery2);
$_SESSION['cart'][$row2['SKU']] = array("quantity" => 1, "price" => $row2['price']);
} else {
$message = "This product ID is invalid";
}
}
}

?>

您的查询中有括号。

改变
$sql2 = "SELECT * FROM products WHERE SKU=[$id]";

$sql2 = "SELECT * FROM products WHERE SKU=$id";

我猜if(isset($_SESSION['cart']))返回false ..根据您的代码,如果这是正确的,将不会输出任何内容。

编辑:

我看到实际上echo "<p>Your part is empty. <br />Please add some products</p>";将被执行,但仍然-我没有看到$_SESSION['cart']被初始化/设置在任何地方…