34968-vm/cart_actions.php
Flatlogic Bot 2c8c9bfe04 V7
2025-10-15 01:01:54 +00:00

52 lines
1.8 KiB
PHP

<?php
session_start();
require_once 'db/config.php';
if (!isset($_GET['action'])) {
header('Location: index.php');
exit;
}
$action = $_GET['action'];
$user_id = $_SESSION['user_id'] ?? null;
$session_id = session_id();
$pdoconnection = db();
if ($action == 'add') {
if (!isset($_POST['menu_item_id']) || !isset($_POST['quantity'])) {
header('Location: cart.php');
exit;
}
$menu_item_id = $_POST['menu_item_id'];
$quantity = $_POST['quantity'];
// Check if item is already in cart
if ($user_id) {
$stmt = $pdoconnection->prepare("SELECT * FROM cart WHERE user_id = :user_id AND menu_item_id = :menu_item_id");
$stmt->execute([':user_id' => $user_id, ':menu_item_id' => $menu_item_id]);
} else {
$stmt = $pdoconnection->prepare("SELECT * FROM cart WHERE session_id = :session_id AND menu_item_id = :menu_item_id");
$stmt->execute([':session_id' => $session_id, ':menu_item_id' => $menu_item_id]);
}
$existing_item = $stmt->fetch();
if ($existing_item) {
// Update quantity
$new_quantity = $existing_item['quantity'] + $quantity;
$stmt = $pdoconnection->prepare("UPDATE cart SET quantity = :quantity WHERE id = :id");
$stmt->execute([':quantity' => $new_quantity, ':id' => $existing_item['id']]);
} else {
// Insert new item
$stmt = $pdoconnection->prepare("INSERT INTO cart (user_id, session_id, menu_item_id, quantity) VALUES (:user_id, :session_id, :menu_item_id, :quantity)");
$stmt->execute([
':user_id' => $user_id,
':session_id' => $user_id ? null : $session_id,
':menu_item_id' => $menu_item_id,
':quantity' => $quantity
]);
}
header('Location: cart.php');
exit;
}