Загрузка данных
<?php
// Инициализируем переменные
$errors = [];
$name = $email = $gender = $consent = '';
$criteria = [];
// 1. ПРОВЕРКА: Был ли отправлен POST-запрос
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// --- Получение и проверка Имени ---
if (empty($_POST["name"])) {
$errors[] = "Пожалуйста, введите ваше имя.";
} else {
// htmlspecialchars заменяет устаревший FILTER_SANITIZE_STRING
$name = htmlspecialchars(trim($_POST["name"]), ENT_QUOTES, 'UTF-8');
}
// --- Получение и проверка Email ---
if (empty($_POST["email"])) {
$errors[] = "Пожалуйста, введите ваш Email.";
} else {
// ИСПРАВЛЕНО: берем $_POST["email"], а не "name"
$email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
// Дополнительная проверка на корректность формата
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors[] = "Пожалуйста, введите корректный Email.";
}
}
// --- Получение Пола ---
$gender = $_POST['gender'] ?? '';
if ($gender == 'female') {
$genderText = 'Женский';
} elseif ($gender == 'male') {
$genderText = 'Мужской';
} else {
$genderText = 'Не указан';
}
// --- Получение Согласия ---
$consent = isset($_POST['consent']) ? 'Да' : 'Нет';
// --- Получение Чекбоксов (Критериев) ---
// Внимание: в HTML у чекбоксов должно быть name="criteria[]"
$criteria = $_POST['criteria'] ?? [];
// Расшифровка значений чекбоксов в текст
$optionsMap = [
'1' => 'Дизайн и визуальное оформление',
'2' => 'Функционал',
'3' => 'Структура навигации и читаемость текста',
'4' => 'Вовлечение пользователя',
'5' => 'Интуитивность использования',
'6' => 'Ресурс требует глобальной доработки'
];
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Результат обработки формы</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f9;
display: flex;
justify-content: center;
padding: 20px;
margin: 0;
}
.result-container {
background: #ffffff;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
border: 2px solid #4CAF50;
width: 100%;
max-width: 600px;
}
h2 { text-align: center; color: #333; margin-top: 0; }
h3 { color: #555; font-size: 16px; border-bottom: 1px solid #eee; padding-bottom: 5px; }
.info-block { background: #f9f9f9; padding: 15px; border-radius: 5px; margin-bottom: 15px; line-height: 1.6; }
ul { margin: 0; padding-left: 20px; color: #444; }
li { margin-bottom: 5px; }
.error-box { background: #ffebee; color: #c62828; padding: 15px; border-radius: 5px; border: 1px solid #ef9a9a; margin-bottom: 20px; }
.back-link { display: inline-block; margin-top: 20px; padding: 10px 20px; background-color: #4CAF50; color: white; text-decoration: none; border-radius: 4px; text-align: center; }
.back-link:hover { background-color: #45a049; }
</style>
</head>
<body>
<div class="result-container">
<?php if (!empty($errors)): ?>
<!-- БЛОК ВЫВОДА ОШИБОК -->
<h2>Ошибка при отправке</h2>
<div class="error-box">
<?php foreach ($errors as $error): ?>
<div><?= $error ?></div>
<?php endforeach; ?>
</div>
<div style="text-align: center;">
<a href="feedback.php" class="back-link">← Вернуться и исправить</a>
</div>
<?php else: ?>
<!-- БЛОК ВЫВОДА УСПЕШНОГО РЕЗУЛЬТАТА -->
<h2>Данные успешно отправлены!</h2>
<div class="info-block">
<strong>Имя:</strong> <?= $name ?><br>
<strong>Ваша почта:</strong> <?= $email ?><br>
<strong>Ваш пол:</strong> <?= $genderText ?><br>
<strong>Согласие на обработку данных:</strong> <?= $consent ?>
</div>
<h3>Отмеченные критерии:</h3>
<?php if (!empty($criteria)): ?>
<ul>
<?php foreach ($criteria as $value): ?>
<li><?= htmlspecialchars($optionsMap[$value] ?? "Неизвестный пункт ($value)") ?></li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<p>Пользователь ничего не отметил.</p>
<?php endif; ?>
<div style="text-align: center;">
<a href="feedback.php" class="back-link">← Вернуться к форме</a>
</div>
<?php endif; ?>
</div>
</body>
</html>