Hi Team
I need some help with my shopping cart, i am adding item on the basket, but when i click on the basket for those item added its empty.
<div id="basket-overview" class="navbar-collapse collapse d-none d-lg-block"> <a "basket.php" class="btn btn-primary navbar-btn"> <i class="fa fa-shopping-cart"></i> <span id="cart-count"><?php echo count($_SESSION['cart']); ?></span> </a> </div> // basket.php <?php // Start the session session_start(); echo count($_SESSION['cart']); // Check if the cart is not empty if (!empty($_SESSION['cart'])) { // Establish database connection. $conn = mysqli_connect('localhost', 'root', '', 'ecommerce_store'); if (!$conn) { die('Could not connect to database: ' . mysqli_connect_error()); } // Query the database to get the products in the cart $cart_items = array(); foreach ($_SESSION['cart'] as $product_id => $quantity) { $sql = "SELECT * FROM products WHERE productID = '$product_id'"; $result = mysqli_query($conn, $sql); if (!$result) { die('Error getting product details: ' . mysqli_error($conn)); } $product = mysqli_fetch_assoc($result); $product['quantity'] = $quantity; $cart_items[] = $product; } // Close the database connection mysqli_close($conn); } ?> <!DOCTYPE html> <html> <head> <title>Shopping Cart</title> < </head> <body> <div class="container"> <h1>Shopping Cart</h1> <?php if (!empty($cart_items)): ?> <table class="table"> <thead> <tr> <th>Image</th> <th>Product Name</th> <th>Unit Price</th> <th>Quantity</th> <th>Discount</th> <th>Amount</th> </tr> </thead> <tbody> <?php foreach ($cart_items as $cart_item): ?> <tr> <td><img src="<?php echo $cart_item['image']; ?>" alt="<?php echo $cart_item['product_name']; ?>"></td> <td><?php echo $cart_item['product_name']; ?></td> <td>$<?php echo $cart_item['unit_price']; ?></td> <td><?php echo $cart_item['quantity']; ?></td> <td><?php echo $cart_item['discount']; ?></td> <td>$<?php echo ($cart_item['unit_price'] * $cart_item['quantity'] * (1 - $cart_item['discount'])); ?></td> </tr> <?php endforeach; ?> </tbody> </table> <?php else: ?> <p>Your cart is empty.</p> <?php endif; ?> </div> </body> </html> // get_product_details.php <?php session_start(); /* *@author:Gcobani Mkontwana *@date:21/04/2023 *Get the product details. **/ // Establish database connection. $conn = mysqli_connect('localhost', 'root', '', 'ecommerce_store'); if (!$conn) { die('Could not connect to database: ' . mysqli_connect_error()); } // session for cart. if (!isset($_SESSION['cart'])) { $_SESSION['cart'] = array(); } // Query the database to get the products in the cart $cart_items = array(); foreach ($_SESSION['cart'] as $product_id => $quantity) { $sql = "SELECT * FROM products WHERE productID = '$product_id'"; $result = mysqli_query($conn, $sql); if (!$result) { die('Error getting product details: ' . mysqli_error($conn)); } $product = mysqli_fetch_assoc($result); $product['quantity'] = $quantity; $cart_items[] = $product; } // Close the database connection mysqli_close($conn); ?> <!-- Display the cart items in a table --> <!DOCTYPE html> <html> <head> <title>Shopping Cart</title> rel="stylesheet"> </head> <body> <table class="table"> <thead> <tr> <th>Product Name</th> <th>Product ID</th> <th>Unit Price</th> <th>Quantity</th> <th>Discount</th> <th>Amount</th> </tr> </thead> <tbody> <?php foreach ($cart_items as $product_id => $cart_item): ?> <tr> <td><?php echo $cart_item['product_name']; ?></td> <td><?php echo $product_id; ?></td> <td>$<?php echo $cart_item['unit_price']; ?></td> <td><?php echo $cart_item['quantity']; ?></td> <td><?php echo $cart_item['discount']; ?></td> <td>$<?php echo ($cart_item['unit_price'] * $cart_item['quantity'] * (1 - $cart_item['discount'])); ?></td> <td> <form method="POST" action="remove_from_cart.php"> <input type="hidden" name="product_id" value="<?php echo $product_id; ?>"> <button type="submit" class="btn btn-link text-danger">Remove</button> </form> </td> </tr> <?php endforeach; ?> </tbody> </table> </body> </html> // jquery code function addToCart(productId, quantity) { var cart = getCart(); if (cart.hasOwnProperty(productId)) { var newQuantity = parseInt(quantity); if (newQuantity <= 0) { delete cart[productId]; } else { cart[productId] = newQuantity; } } else { cart[productId] = parseInt(quantity); } saveCart(cart); updateCartCount(); calculate_total(); // Display message var productName = $('#product-name-' + productId).text(); $('#cart-message').text(quantity + 'x ' + productName + ' added to cart').show(); setTimeout(function() { $('#cart-message').fadeOut('slow'); }, 3000); } function calculate_total() { var cart = getCart(); var total = 0; for (var productId in cart) { var product = getProductId(productId); var price = parseFloat(product.price); var quantity = parseInt(cart[productId]); // Send request to server to get discount for the product $.ajax({ url: 'get_product_details.php', data: {productId: productId}, dataType: 'json', success: function(data) { // Update HTML elements with discount and amount var discount = parseFloat(data.discount); var amount = price * quantity * (1 - discount); $('#discount-' + productId).text((discount * 100).toFixed(0) + '%'); $('#amount-' + productId).text('$' + amount.toFixed(0)); }, error: function(xhr, textStatus, errorThrown) { console.log('Error getting product details: ' + errorThrown); } });