<?php
session_start();
require 'check_login.php';
require 'db_connect.php';
$user_id = $_SESSION['user_id'];
$cart_items = $_SESSION['cart'] ?? [];
if (empty($cart_items)) {
header("Location: cart.php?msg=Kundvagnen är tom.");
exit();
}
try {
$pdo->beginTransaction();
// 1. Skapa en ny order
$stmt = $pdo->prepare("INSERT INTO `order` (customer_id, payment_da) VALUES (?, NOW())");
$stmt->execute([$user_id]);
$order_id = $pdo->lastInsertId();
// 2. Lägg till böckerna i ordern (bookorder)
foreach ($cart_items as $item) {
$stmt = $pdo->prepare("INSERT INTO bookorder (quantity, price, order_order, book_book_id) VALUES (?, ?, ?, ?)");
$stmt->execute([
$item['quantity'],
$item['price'],
$order_id,
$item['book_id']
]);
}
// 3. Töm kundvagnen
unset($_SESSION['cart']);
$pdo->commit();
// Omdirigera till en bekräftelsesida
header("Location: user.php?msg=Tack för ditt köp! En bekräftelse har registrerats i dina transaktioner. Din bok är redo att hämtas på närmaste bibliotek.");
exit();
} catch (\PDOException $e) {
$pdo->rollBack();
error_log("Database error during purchase: " . $e->getMessage());
header("Location: cart.php?msg=Ett fel uppstod vid köpet. Försök igen.");
exit();
}
?>