<?php
$errors = ""; // Инициализируем переменную ошибок
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 1. Проверка Имени
if (isset($_POST["name"]) && trim($_POST["name"]) != "") {
$name = trim($_POST["name"]);
if (preg_match("/^[А-Яа-яЁёA-Za-z\s\-]{2,40}$/u", $name)) {
$name = htmlspecialchars($name);
} else {
$errors .= "Пожалуйста, введите корректное имя (только буквы, от 2 до 40 символов).<br>";
}
} else {
$errors .= "Пожалуйста, введите ваше имя.<br>";
}
// 2. Проверка Email
if (isset($_POST["email"]) && $_POST["email"] != "") {
$email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors .= "Пожалуйста, введите корректный Email.<br>";
}
} else {
$errors .= "Пожалуйста, введите ваш Email.<br>";
}
// 3. Получаем остальные данные
$gender = $_POST['gender'] ?? 'Не указан';
if ($gender == 'female') $gender = 'Женский';
if ($gender == 'male') $gender = 'Мужской';
$liked = $_POST['liked'] ?? [];
$disliked = $_POST['disliked'] ?? [];
$consent = isset($_POST['consent']) ? 'Да' : 'Нет';
// 4. ЕСЛИ ОШИБОК НЕТ - СОХРАНЯЕМ И ВЫВОДИМ СООБЩЕНИЕ
if (!empty($errors)) {
// Если есть ошибки, показываем их
echo "<div style='color: red; font-family: Arial;'>" . $errors . "</div>";
} else {
// ВЫВОД: Просто сообщение об успехе вместо всех данных
echo "<div style='font-family: Arial; text-align: center; margin-top: 50px;'>";
echo "<h2 style='color: #4CAF50;'>Данные успешно отправлены!</h2>";
echo "<p>Ваш отзыв сохранен в системе.</p>";
echo "<a href='feedback.php' style='color: #4CAF50;'>← Вернуться к форме</a>";
echo "</div>";
// --- БЛОК СОХРАНЕНИЯ В ФАЙЛ ---
// Превращаем массивы в текст, разделенный запятыми
$liked_str = !empty($liked) ? implode(', ', $liked) : 'Ничего не отмечено';
$disliked_str = !empty($disliked) ? implode(', ', $disliked) : 'Ничего не отмечено';
// Получаем текущую дату и время
$date = date("Y-m-d H:i:s");
// Формируем строку для записи
$data_to_save = "Дата: $date | Имя: $name | Email: $email | Пол: $gender | Согласие: $consent | Понравилось: $liked_str | Не понравилось: $disliked_str\n";
// Открываем файл feedback.txt для дозаписи ('a'). Если файла нет - он создастся.
$file = fopen("feedback.txt", "a");
// Если файл открылся успешно, записываем и закрываем
if ($file) {
fwrite($file, $data_to_save);
fclose($file);
}
// --- КОНЕЦ БЛОКА СОХРАНЕНИЯ ---
}
} else {
echo "Ошибка: Данные не были отправлены.";
}
?>