Källkodsbrowser

index.php

132 lines UTF-8 Unix (LF)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?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>&copy; 2025 E-bookstore</p>
    </footer>
</body>

</html>