我正在尝试使用 php 和 html 实现购物车。我遇到的问题是使用会话存储要存储的产品的 ID。以下是我目前拥有的代码:
<?php
session_start();
?>
//There are three HTML Forms that take and display input, and output.
<?php
$_SESSION['cart'] = array();
if(isset($_GET['search'])){
echo "<table border=1>";
echo "<th>Product Image</th>";
echo "<th>Product Name</th>";
echo "<th>Price</th>";
foreach($xml->categories->category->items->product as $product){
$imageURL = $product->images->image[0]->sourceURL;
$id = $product['id'];
echo "<tr>";
echo "<td><a href= 'buy.php?buy=".$id."'><img src=".$imageURL."></img></a></td>";
echo "<td>".$product->name."</td>";
echo "<td>".'$'.$product->minPrice."</td>";
}
}
if(isset($_GET['buy'])){
$product_id = $_GET['buy'];
if(isset($_SESSION['cart'])){
array_push($_SESSION['cart'],$product_id);
}
}
print_r ($_SESSION);
?>
第一个 if 语句的作用是获取搜索词,并获取最接近的结果。然后它会显示图像、名称和价格。当你点击图片时,会有一个href,它应该被添加到购物车中。这就是第二个 if 语句发挥作用的地方。如果已单击图像,我想获取 id 并将其存储在会话中。单击时它会存储产品的 id,但是当我返回添加另一个项目时,以前的 id 会替换为新的 id。谁能向我解释我哪里出错了?任何帮助将不胜感激。