Загрузка данных


<?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 "Ошибка: Данные не были отправлены.";
}
?>