Order section in Eng
This commit is contained in:
parent
541d04aca9
commit
3c411e30d2
56
index.php
56
index.php
@ -27,8 +27,8 @@ try {
|
|||||||
}
|
}
|
||||||
// --- END DB MIGRATIONS ---
|
// --- END DB MIGRATIONS ---
|
||||||
|
|
||||||
$p_title = 'Цветочный магазин';
|
$p_title = 'Flower Shop';
|
||||||
$p_description = 'Красивые букеты на любой случай.';
|
$p_description = 'Beautiful bouquets for any occasion.';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$pdo = db();
|
$pdo = db();
|
||||||
@ -37,7 +37,7 @@ try {
|
|||||||
} catch (PDOException $e) {
|
} catch (PDOException $e) {
|
||||||
error_log('DB Error: ' . $e->getMessage());
|
error_log('DB Error: ' . $e->getMessage());
|
||||||
$bouquets = [];
|
$bouquets = [];
|
||||||
$db_error = 'К сожалению, мы не смогли загрузить букеты в данный момент. Пожалуйста, попробуйте еще раз позже.';
|
$db_error = 'Sorry, we were unable to load the bouquets at this time. Please try again later.';
|
||||||
}
|
}
|
||||||
|
|
||||||
$status_message = '';
|
$status_message = '';
|
||||||
@ -50,7 +50,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
$note = trim($_POST['note'] ?? '');
|
$note = trim($_POST['note'] ?? '');
|
||||||
|
|
||||||
if (empty($customer_name) || empty($bouquet_id) || empty($phone) || empty($address) || empty($delivery_date)) {
|
if (empty($customer_name) || empty($bouquet_id) || empty($phone) || empty($address) || empty($delivery_date)) {
|
||||||
$status_message = '<div class="alert alert-danger">Пожалуйста, заполните все обязательные поля.</div>';
|
$status_message = '<div class="alert alert-danger">Please fill in all required fields.</div>';
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
$sql = "INSERT INTO orders (customer_name, bouquet_id, phone, address, delivery_date, note) VALUES (:name, :bouquet, :phone, :address, :date, :note)";
|
$sql = "INSERT INTO orders (customer_name, bouquet_id, phone, address, delivery_date, note) VALUES (:name, :bouquet, :phone, :address, :date, :note)";
|
||||||
@ -63,16 +63,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
':date' => $delivery_date,
|
':date' => $delivery_date,
|
||||||
':note' => $note
|
':note' => $note
|
||||||
]);
|
]);
|
||||||
$status_message = '<div class="alert alert-success">Спасибо за ваш заказ! Мы скоро с вами свяжемся.</div>';
|
$status_message = '<div class="alert alert-success">Thank you for your order! We will contact you shortly.</div>';
|
||||||
} catch (PDOException $e) {
|
} catch (PDOException $e) {
|
||||||
error_log('Order submission error: ' . $e->getMessage());
|
error_log('Order submission error: ' . $e->getMessage());
|
||||||
$status_message = '<div class="alert alert-danger">Не удалось обработать ваш заказ. Пожалуйста, попробуйте еще раз.</div>';
|
$status_message = '<div class="alert alert-danger">We could not process your order. Please try again.</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="ru">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
@ -311,10 +311,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</button>
|
</button>
|
||||||
<div class="collapse navbar-collapse" id="navbarNav">
|
<div class="collapse navbar-collapse" id="navbarNav">
|
||||||
<ul class="navbar-nav mx-auto">
|
<ul class="navbar-nav mx-auto">
|
||||||
<li class="nav-item"><a class="nav-link" href="#">Главная</a></li>
|
<li class="nav-item"><a class="nav-link" href="#">Home</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="#bouquets">Букеты</a></li>
|
<li class="nav-item"><a class="nav-link" href="#bouquets">Bouquets</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="#order">Заказ</a></li>
|
<li class="nav-item"><a class="nav-link" href="#order">Order</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="/admin.php">Админ</a></li>
|
<li class="nav-item"><a class="nav-link" href="/admin.php">Admin</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="navbar-nav header-icons">
|
<ul class="navbar-nav header-icons">
|
||||||
<li class="nav-item"><a class="nav-link" href="#">🔍</a></li>
|
<li class="nav-item"><a class="nav-link" href="#">🔍</a></li>
|
||||||
@ -329,8 +329,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<a href="#" class="hero-arrow">⟵</a>
|
<a href="#" class="hero-arrow">⟵</a>
|
||||||
<div>
|
<div>
|
||||||
<h1 class="display-3">Искусство простоты</h1>
|
<h1 class="display-3">The Art of Simplicity</h1>
|
||||||
<p class="lead">Букеты ручной работы</p>
|
<p class="lead">Handmade Bouquets</p>
|
||||||
</div>
|
</div>
|
||||||
<a href="#" class="hero-arrow">⟶</a>
|
<a href="#" class="hero-arrow">⟶</a>
|
||||||
</div>
|
</div>
|
||||||
@ -341,12 +341,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
<div class="section-title-container">
|
<div class="section-title-container">
|
||||||
<div class="decorator-dot"></div>
|
<div class="decorator-dot"></div>
|
||||||
<div class="decorator-line"></div>
|
<div class="decorator-line"></div>
|
||||||
<h2 class="section-title mb-0">Наши Букеты</h2>
|
<h2 class="section-title mb-0">Our Bouquets</h2>
|
||||||
</div>
|
</div>
|
||||||
<?php if (!empty($db_error)): ?>
|
<?php if (!empty($db_error)): ?>
|
||||||
<div class="alert alert-danger"><?= htmlspecialchars($db_error) ?></div>
|
<div class="alert alert-danger"><?= htmlspecialchars($db_error) ?></div>
|
||||||
<?php elseif (empty($bouquets)): ?>
|
<?php elseif (empty($bouquets)): ?>
|
||||||
<div class="alert alert-info">Букеты скоро появятся.</div>
|
<div class="alert alert-info">Bouquets will be available soon.</div>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<div class="bouquets-list">
|
<div class="bouquets-list">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@ -375,8 +375,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
<div class="card-body d-flex flex-column <?= ($key % 2 !== 0) ? 'text-lg-end' : '' ?>">
|
<div class="card-body d-flex flex-column <?= ($key % 2 !== 0) ? 'text-lg-end' : '' ?>">
|
||||||
<div class="mt-auto">
|
<div class="mt-auto">
|
||||||
<p class="card-text mb-4"><?= htmlspecialchars($bouquet['description']) ?></p>
|
<p class="card-text mb-4"><?= htmlspecialchars($bouquet['description']) ?></p>
|
||||||
<div class="price mb-4"><?= htmlspecialchars(number_format((float)$bouquet['price'], 2)) ?> руб.</div>
|
<div class="price mb-4">$<?= htmlspecialchars(number_format((float)$bouquet['price'], 2)) ?></div>
|
||||||
<a href="#order" class="btn btn-outline-dark">Заказать</a>
|
<a href="#order" class="btn btn-outline-dark">Order</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -388,43 +388,43 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="order" class="my-5 pt-5">
|
<section id="order" class="my-5 pt-5">
|
||||||
<h2 class="section-title text-center mb-4">Оформить заказ</h2>
|
<h2 class="section-title text-center mb-4">Place an Order</h2>
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
<?= $status_message ?>
|
<?= $status_message ?>
|
||||||
<div class="card p-4 shadow-sm border-0">
|
<div class="card p-4 shadow-sm border-0">
|
||||||
<form action="/#order" method="POST" novalidate>
|
<form action="/#order" method="POST" novalidate>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="name" class="form-label">Ваше имя</label>
|
<label for="name" class="form-label">Your Name</label>
|
||||||
<input type="text" class="form-control" id="name" name="name" required>
|
<input type="text" class="form-control" id="name" name="name" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="bouquet" class="form-label">Выберите букет</label>
|
<label for="bouquet" class="form-label">Select a Bouquet</label>
|
||||||
<select class="form-select" id="bouquet" name="bouquet" required>
|
<select class="form-select" id="bouquet" name="bouquet" required>
|
||||||
<option value="" disabled selected>Выберите...</option>
|
<option value="" disabled selected>Choose...</option>
|
||||||
<?php foreach ($bouquets as $bouquet): ?>
|
<?php foreach ($bouquets as $bouquet): ?>
|
||||||
<option value="<?= $bouquet['id'] ?>"><?= htmlspecialchars($bouquet['name']) ?> - <?= htmlspecialchars(number_format((float)$bouquet['price'], 2)) ?> руб.</option>
|
<option value="<?= $bouquet['id'] ?>"><?= htmlspecialchars($bouquet['name']) ?> - $<?= htmlspecialchars(number_format((float)$bouquet['price'], 2)) ?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="phone" class="form-label">Номер телефона</label>
|
<label for="phone" class="form-label">Phone Number</label>
|
||||||
<input type="tel" class="form-control" id="phone" name="phone" required>
|
<input type="tel" class="form-control" id="phone" name="phone" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="address" class="form-label">Адрес доставки</label>
|
<label for="address" class="form-label">Delivery Address</label>
|
||||||
<textarea class="form-control" id="address" name="address" rows="3" required></textarea>
|
<textarea class="form-control" id="address" name="address" rows="3" required></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="delivery_date" class="form-label">Дата доставки</label>
|
<label for="delivery_date" class="form-label">Delivery Date</label>
|
||||||
<input type="date" class="form-control" id="delivery_date" name="delivery_date" required>
|
<input type="date" class="form-control" id="delivery_date" name="delivery_date" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="note" class="form-label">Примечание (необязательно)</label>
|
<label for="note" class="form-label">Note (optional)</label>
|
||||||
<textarea class="form-control" id="note" name="note" rows="3" maxlength="300"></textarea>
|
<textarea class="form-control" id="note" name="note" rows="3" maxlength="300"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-grid">
|
<div class="d-grid">
|
||||||
<button type="submit" class="btn btn-primary btn-lg">Отправить заказ</button>
|
<button type="submit" class="btn btn-primary btn-lg">Submit Order</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@ -435,7 +435,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
|
|
||||||
<footer class="text-center">
|
<footer class="text-center">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p>© <?= date('Y') ?> Fleur. Все права защищены.</p>
|
<p>© <?= date('Y') ?> Fleur. All rights reserved.</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user