我正在用php为一个学校项目做一个网上商店。我现在正在做购物车和产品页面,但是当我把一个产品加到购物车里的时候,它实际上并没有被加到购物车里。我花了很多时间寻找解决方案,但是我不能修复它。我希望任何人可以帮助我解决这个问题。
这是我的产品页面代码:
session_start();
<section id="products">
<div class="products-container">
<?php
// Read the JSON file
$jsonData = file_get_contents('js/products.json');
$products = json_decode($jsonData, true);
// Initialize cart as an empty array
$cart = array();
// Loop through each product and display its information
foreach ($products as $product) {
echo '<div class="product-container">';
echo '<div class="product-cart">';
echo '<img class= "productimage" src="' . $product['image'] . '" alt="' . $product['name'] . '">';
echo '<h3>' . $product['name'] . '</h3>';
echo '<p>' . $product['description'] . '</p>';
echo '<p class="price">Price: ' . $product['price'] . '</p>';
echo '<form method="post" class="add-to-cart-form">';
echo '<input type="hidden" name="id" value="' . $product['id'] . '">';
echo '<input type="number" name="quantity" value="1" min="1">';
echo '<button type="submit" class="add-to-cart-btn">Add to Cart</button>';
echo '</form>';
echo '</div>';
echo '</div>';
}
?>
</div>
</section>
正如你所看到的,我使用一个json文件来存储我的产品。我将提供这个文件的一部分,这样你就可以看到它的内容:
[
{
"name": "Gucci Bloom",
"price": "€120.00",
"image": "./pictures/gucci-Bloom.png",
"description": "Een bloemig en houtachtig parfum voor vrouwen",
"id": 1
},
{
"name": "Dior Homme",
"price": "€70.00",
"image": "./pictures/dior-Homme.png",
"description": "Een houtachtig en kruidig parfum voor mannen",
"id": 2
}
]
接下来是我最纠结的部分,购物车页面,这是我目前拥有的东西:
<section class="productcart">
<div class="cart-card">
<table class="cart-table">
<tr>
<td></td>
<td>Product</td>
<td>Prijs</td>
<td>Hoeveelheid</td>
<td>Totale prijs</td>
</tr>
<?php
$jsonData = file_get_contents('js/products.json');
$products = json_decode($jsonData, true);
$cart = array();
foreach ($cart as $products){
echo '<tr>';
echo '<td><img class= "productimage" src="' . $product['image'] . '" alt="' . $product['name'] . '"></</td>';
echo '<td><h3>' . $product['name'] . '</h3></td>';
echo '<td><p class="price">' . $product['price'] . '</p></td>';
echo '<td><p>' . $product['amount'].'</p></td>';
echo '<td><p>' . $product['price'] * $product['amount']. '</p></td>';
echo '</tr>';
}
?>
</table>
</div>
</section>
我希望任何人都能帮助我解决这个问题。
1条答案
按热度按时间j8ag8udp1#
您正在迭代空的$cart数组:foreach($购物车为$产品){...
但是您希望像foreach($products as $product){...}一样迭代产品数组。