/
Evil331
/
Apteka
Обзор
Документация
Войти
/
Evil331
/
Apteka
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
checkout.php
113 строк
5 KB
Evil6766
Add files via upload
31 май 2025, 17:06
Не верифицирован
31 май 2025, 17:06
667fe25
Код
Авторство
О чём код?
<?php include 'header.php'; require_once "db_connect.php"; // Проверка, авторизован ли пользователь if (!isset($_SESSION['user_id'])) { header("Location: login.php?redirect=checkout.php"); exit(); } $cart_items = []; $total = 0; $user_data = []; // Проверка подключения к базе данных if (!$conn) { die("Ошибка подключения к базе данных: " . mysqli_connect_error()); } // Получаем товары из корзины для авторизованного пользователя $user_id = $_SESSION['user_id']; $stmt = $conn->prepare(" SELECT c.product_id, c.quantity, p.price, p.name, p.image_url FROM cart c JOIN products p ON c.product_id = p.id WHERE c.user_id = ? "); $stmt->bind_param("i", $user_id); if ($stmt->execute()) { $result = $stmt->get_result(); $cart_items = $result->fetch_all(MYSQLI_ASSOC); foreach ($cart_items as $item) { $total += $item['price'] * $item['quantity']; } } else { die("Ошибка выполнения запроса: " . $stmt->error); } // Получаем данные пользователя из профиля (если они есть в таблице users) $stmt = $conn->prepare("SELECT email, phone, address FROM users WHERE id = ?"); $stmt->bind_param("i", $user_id); if ($stmt->execute()) { $result = $stmt->get_result(); $user_data = $result->fetch_assoc(); } $stmt->close(); $conn->close(); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Оформление заказа - Интернет-аптека</title> <link rel="stylesheet" href="style.css"> </head> <body> <main class="container"> <h2>Оформление заказа</h2> <?php if (empty($cart_items)): ?> <p class="empty-cart">Корзина пуста. <a href="catalog.php">Перейти в каталог</a></p> <?php else: ?> <div class="checkout-container"> <div class="order-summary"> <h3>Состав заказа</h3> <div class="cart-items"> <?php foreach ($cart_items as $item): ?> <div class="cart-item"> <img src="<?php echo htmlspecialchars($item['image_url']); ?>" alt="<?php echo htmlspecialchars($item['name']); ?>" class="cart-item-image"> <div class="cart-item-details"> <h4><?php echo htmlspecialchars($item['name']); ?></h4> <p>Цена: <?php echo number_format($item['price'], 2); ?> RUB</p> <p>Количество: <?php echo $item['quantity']; ?></p> <p>Итого: <?php echo number_format($item['price'] * $item['quantity'], 2); ?> RUB</p> </div> </div> <?php endforeach; ?> </div> <h3>Общая сумма: <?php echo number_format($total, 2); ?> RUB</h3> </div> <div class="checkout-form"> <h3>Данные для доставки</h3> <form id="checkoutForm" action="process_order.php" method="POST"> <div class="form-group"> <label for="address">Адрес доставки:</label> <textarea id="address" name="address" required><?php echo isset($user_data['address']) ? htmlspecialchars($user_data['address']) : ''; ?></textarea> </div> <div class="form-group"> <label for="phone">Телефон:</label> <input type="tel" id="phone" name="phone" value="<?php echo isset($user_data['phone']) ? htmlspecialchars($user_data['phone']) : ''; ?>" required> </div> <div class="form-group"> <label for="email">Email:</label> <input type="email" id="email" name="email" value="<?php echo isset($user_data['email']) ? htmlspecialchars($user_data['email']) : ''; ?>" required> </div> <button type="submit" class="checkout-button">Подтвердить заказ</button> </form> </div> </div> <?php endif; ?> </main> <?php include 'footer.php'; ?> <script src="script.js"></script> </body> </html>