34083-vm/index.php
2025-09-11 14:43:43 +00:00

191 lines
7.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
require_once 'db/config.php';
// Handle form submission
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['customer_name'])) {
try {
$pdoconnection = db();
$statement = $pdoconnection->prepare(
'INSERT INTO orders (customer_name, phone, address, bouquet_id) VALUES (:customer_name, :phone, :address, :bouquet_id)'
);
$statement->execute([
':customer_name' => $_POST['customer_name'],
':phone' => $_POST['phone'],
':address' => $_POST['address'],
':bouquet_id' => (int)$_POST['bouquet_id'],
]);
// Redirect or show success message
header('Location: ' . $_SERVER['PHP_SELF'] . '?order=success');
exit;
} catch (PDOException $e) {
die("Order placement failed: " . $e->getMessage());
}
}
try {
$pdoconnection = db();
$statement = $pdoconnection->query('SELECT id, name, description, price, image_url FROM bouquets');
$bouquets = $statement->fetchAll();
} catch (PDOException $e) {
die("Database error: " . $e->getMessage());
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flower Shop</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Playfair+Display:wght@700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Montserrat', sans-serif;
background-color: #fdf2e9; /* Light pinkish-beige */
}
h1, h2, h3, .navbar-brand {
font-family: 'Playfair Display', serif;
}
.navbar {
background-color: #fdf2e9;
}
.hero {
background-color: #fadadd; /* Lighter pink */
padding: 4rem 0;
text-align: center;
}
.btn-primary {
background-color: #e67e22; /* Coral accent */
border-color: #e67e22;
}
.btn-primary:hover {
background-color: #d35400;
border-color: #d35400;
}
.card {
border: none;
transition: transform .2s;
}
.card:hover {
transform: scale(1.05);
}
.card-img-top {
height: 300px;
object-fit: cover;
}
footer {
background-color: #343a40;
color: white;
padding: 2rem 0;
}
</style>
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-light">
<div class="container">
<a class="navbar-brand" href="#">Flower Shop</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="#bouquets">Букеты</a></li>
<li class="nav-item"><a class="nav-link" href="#order">Заказать</a></li>
<li class="nav-item"><a class="nav-link" href="/admin">Админ-панель</a></li>
</ul>
</div>
</div>
</nav>
<!-- Hero Section -->
<header class="hero">
<div class="container">
<h1>Flower Shop</h1>
<p class="lead">Свежие букеты для любого повода с доставкой на дом.</p>
</div>
</header>
<!-- Success Message -->
<?php if (isset($_GET['order']) && $_GET['order'] === 'success'): ?>
<div class="container mt-4">
<div class="alert alert-success text-center" role="alert">
Спасибо за ваш заказ! Мы скоро с вами свяжемся.
</div>
</div>
<?php endif; ?>
<!-- Bouquets Section -->
<section id="bouquets" class="py-5">
<div class="container">
<h2 class="text-center mb-4">Наши Букеты</h2>
<div class="row">
<?php if (empty($bouquets)): ?>
<p class="text-center">Букеты скоро появятся!</p>
<?php else: ?>
<?php foreach ($bouquets as $bouquet): ?>
<div class="col-md-4 mb-4">
<div class="card h-100">
<img src="<?= htmlspecialchars($bouquet['image_url']) ?>" class="card-img-top" alt="<?= htmlspecialchars($bouquet['name']) ?>">
<div class="card-body">
<h5 class="card-title"><?= htmlspecialchars($bouquet['name']) ?></h5>
<p class="card-text"><?= htmlspecialchars($bouquet['description']) ?></p>
<p class="card-text"><strong><?= htmlspecialchars($bouquet['price']) ?> руб.</strong></p>
</div>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
</section>
<!-- Order Form Section -->
<section id="order" class="py-5 bg-light">
<div class="container">
<h2 class="text-center mb-4">Оформить Заказ</h2>
<div class="row justify-content-center">
<div class="col-md-6">
<form action="index.php" method="POST">
<div class="mb-3">
<label for="customer_name" class="form-label">Ваше Имя</label>
<input type="text" class="form-control" id="customer_name" name="customer_name" required>
</div>
<div class="mb-3">
<label for="phone" class="form-label">Телефон</label>
<input type="tel" class="form-control" id="phone" name="phone" required>
</div>
<div class="mb-3">
<label for="address" class="form-label">Адрес Доставки</label>
<textarea class="form-control" id="address" name="address" rows="3" required></textarea>
</div>
<div class="mb-3">
<label for="bouquet_id" class="form-label">Выберите Букет</label>
<select class="form-select" id="bouquet_id" name="bouquet_id" required>
<?php foreach ($bouquets as $bouquet): ?>
<option value="<?= $bouquet['id'] ?>"><?= htmlspecialchars($bouquet['name']) ?></option>
<?php endforeach; ?>
</select>
</div>
<button type="submit" class="btn btn-primary w-100">Заказать</button>
</form>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="text-center">
<div class="container">
<p>&copy; <?= date('Y') ?> Flowera. Все права защищены.</p>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>