Hi Team
I need help with my back end, when i debug using a tab from network to see how its responding its not writing any insert to my table. What i want to accomplish, the items do add fine, problem i cant view them to see when i click the wishlist also back end must insert when adding to the table.
{ "success": false, "message": "An error occurred while adding to the wishlist." }
<?php //ob_start(); // Start output buffering to prevent header issues ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); session_start(); // Check if the user is logged in or not if (isset($_SESSION['user_id'])) { $user_id = $_SESSION['user_id']; } else { $user_id = 0; } $response = array("success" => false, "message" => "An error occurred while adding to the wishlist."); if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Check if product information is provided if (isset($_POST['product_id'], $_POST['product_name'])) { $product_id = $_POST['product_id']; $product_name = $_POST['product_name']; try { // Establish a database connection $pdo = new PDO("mysql:host=localhost;dbname=dbname;charset=utf8", "username", "password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Prepare and execute the SQL query to insert the product into the wishlist $sql = "INSERT INTO wishlist (user_id, product_id, product_name) VALUES (:user_id, :product_id, :product_name)"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':user_id', $user_id, PDO::PARAM_INT); $stmt->bindParam(':product_id', $product_id, PDO::PARAM_INT); $stmt->bindParam(':product_name', $product_name, PDO::PARAM_STR); $stmt->execute(); $response = array("success" => true, "message" => "Product added to the wishlist successfully."); }catch (PDOException $e) { // Handle database connection or query errors $response = array("success" => false, "message" => "Database error: " . $e->getMessage()); error_log("Database error: " . $e->getMessage()); } } } // Return a JSON response header("Content-Type: application/json"); echo json_encode($response); ?>
// front end
<a class="btn border" id="cart-badge-btn"> <i class="fas fa-heart text-danger"></i> <span class="badge" id="wishlist-badge">0</span> </a> <div id="wishlist-modal" class="modal"> <!-- Wishlist content goes here --> </div> // javascript $(document).ready(function () { // Initialize the wishlist counter let wishlistCount = 0; // Add to wishlist button click event $(".add-to-wishlist").click(function () { let productId = $(this).data("product-id"); let productName = $(this).data("product-name"); let productImage = $(this).data("product-image"); console.log("Product ID:", productId); console.log("Product Name:", productName); //console.log("Product Code:", productCode); console.log("Product Image:", productImage); // Add the product to the user's session (you need server-side PHP logic for this) // Send an AJAX request to add the product to the session $.post("add-to-wishlist.php", { product_id: productId, product_name: productName, product_image: productImage }, function (response) { // Update the wishlist badge wishlistCount++; $("#wishlist-badge").text(wishlistCount); console.log("Product ID:", productId); console.log("Product Name:", productName); //console.log("Product Code:", productCode); console.log("Product Image:", productImage); }); }); // Wishlist badge click event (show wishlist modal) $("#cart-badge-btn").click(function () { // Load the user's wishlist from the server using AJAX $.get("get-wishlist-product.php", function (wishlistItems) { // Update the wishlist modal content with the retrieved data $("#wishlist-modal").html(wishlistItems); // Show the modal $("#wishlist-modal").show(); }); }); });