<?php
session_start();
require 'db_connect.php';
// Hämta alla böcker
try {
$stmt = $pdo->query("SELECT * FROM book");
$books = $stmt->fetchAll();
} catch (\PDOException $e) {
error_log("Database error fetching books: " . $e->getMessage());
$books = [];
$error_msg = "Kunde inte hämta böcker från databasen.";
}
// Kontrollera om användaren är inloggad
$is_logged_in = isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true;
$username = $is_logged_in ? htmlspecialchars($_SESSION['username']) : '';
// Hantera klick på "Köp bok"
if (isset($_POST['add_to_cart'])) {
if (!$is_logged_in) {
// Omdirigera till inloggningssidan om inte inloggad
header("Location: login_form.php?msg=Du måste logga in för att köpa böcker.");
exit();
}
// Om inloggad, lägg till i kundvagnen (logik flyttas till cart.php)
$book_id = intval($_POST['book_id']);
// Hämta bokinformation för att lagra i sessionen
$stmt = $pdo->prepare("SELECT book_id, book_name, price FROM book WHERE book_id = ?");
$stmt->execute([$book_id]);
$book = $stmt->fetch();
if ($book) {
// Initiera kundvagnen om den inte finns
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = [];
}
// Lägg till boken i kundvagnen
if (isset($_SESSION['cart'][$book_id])) {
$_SESSION['cart'][$book_id]['quantity']++;
} else {
$_SESSION['cart'][$book_id] = [
'book_id' => $book['book_id'],
'book_name' => $book['book_name'],
'price' => $book['price'],
'quantity' => 1
];
}
$message = htmlspecialchars($book['book_name']) . " har lagts till i kundvagnen!";
} else {
$error_msg = "Boken hittades inte.";
}
}
// Beräkna totalt antal varor i kundvagnen
$cart_count = 0;
if (isset($_SESSION['cart'])) {
foreach ($_SESSION['cart'] as $item) {
$cart_count += $item['quantity'];
}
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<title>E-bookstore - Köp E-böcker online</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="store-header">
<h1>E-bookstore</h1>
<div class="header-buttons">
<?php if ($is_logged_in): ?>
<a href="cart.php" class="btn">Kundvagn (<?= $cart_count ?>)</a>
<a href="user.php" class="btn">Min Sida (<?= $username ?>)</a>
<a href="logout.php" class="logout">Logga ut</a>
<?php else: ?>
<a href="login_form.php" class="btn">Logga in</a>
<a href="register.php" class="btn">Registrera</a>
<?php endif; ?>
</div>
</div>
</header>
<main>
<?php if (isset($message)): ?>
<p class="message success"><?= htmlspecialchars($message) ?></p>
<?php endif; ?>
<?php if (isset($error_msg)): ?>
<p class="message error"><?= htmlspecialchars($error_msg) ?></p>
<?php endif; ?>
<?php if ($msg): ?>
<p class="message success"><?= htmlspecialchars($msg) ?></p>
<?php endif; ?>
<h2>Våra E-böcker</h2>
<div class="book-grid">
<?php if (empty($books)): ?>
<p>Inga böcker hittades.</p>
<?php else: ?>
<?php foreach ($books as $book): ?>
<div class="book-card">
<img src="<?= htmlspecialchars($book['img_url']) ?>"
alt="Omslag för <?= htmlspecialchars($book['book_name']) ?>">
<h3><?= htmlspecialchars($book['book_name']) ?></h3>
<p>Av: <?= htmlspecialchars($book['author']) ?></p>
<span class="price"><?= number_format($book['price'], 2, ',', ' ') ?> kr</span>
<form method="post">
<input type="hidden" name="book_id" value="<?= $book['book_id'] ?>">
<button type="submit" name="add_to_cart" class="btn">Köp bok</button>
</form>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</main>
<footer>
<p>© 2025 E-bookstore</p>
</footer>
</body>
</html>