К admin На 27-01-2025 at 4:50 pm

Форма обратной связи для сайта с отправкой на почту созданная нейросетью

Создание контактной формы, которая позволяет пользователям загружать и отправлять видеофайлы по электронной почте, включает в себя как frontend, так и backend код. Мы напишем HTML/CSS для формы и PHP для обработки загрузки файлов и отправки электронной почты.


<style> body { font-family: Arial, sans-serif; background-color: #f4f4f9; } .contact-form { width: 100%; max-width: 600px; margin: 50px auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .contact-form h2 { margin-bottom: 15px; color: #333; } .form-control { margin-bottom: 15px; } .form-control label { display: block; margin-bottom: 5px; color: #555; } .form-control input, .form-control textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; } .form-control input[type="file"] { padding: 3px; } .form-control button { background-color: #28a745; color: #fff; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s; } .form-control button:hover { background-color: #218838; } </style>


Сначала давайте создадим HTML-форму с соответствующим стилем CSS.


<div class="contact-form">

    <h2>Форма обратной связи</h2>

    <form action="process_form.php" method="POST" enctype="multipart/form-data">

        <div class="form-control">

            <label for="name">Имя</label>

            <input type="text" id="name" name="name" required>

        </div>

        <div class="form-control">

            <label for="email">Email</label>

            <input type="email" id="email" name="email" required>

        </div>

        <div class="form-control">

            <label for="message">Сообщение</label>

            <textarea id="message" name="message" rows="4" required></textarea>

        </div>

        <div class="form-control">

            <label for="video">Загрузить видео файл</label>

            <input type="file" id="video" name="video" accept="video/*" required>

        </div>

        <div class="form-control">

            <button type="submit">Отправить</button>

        </div>

    </form>

</div>


Теперь давайте создадим PHP-скрипт `process_form.php` для обработки отправки формы, проверки введенных данных, загрузки файла и отправки электронного письма с прикрепленным видеофайлом.


<?php


if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    // Sanitize and validate input

    $name = filter_input(INPUT_POST, 'name',);

    $email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);

    $message = filter_input(INPUT_POST, 'message',);


    if (!$name || !$email || !$message) {

        echo "Invalid input.";

        exit();

    }


    // File upload processing

    if (isset($_FILES['video']) && $_FILES['video']['error'] === 0) {

        

        $videoName = basename($_FILES['video']['name']);

        $videoTempName = $_FILES['video']['tmp_name'];

        $videoSize = $_FILES['video']['size'];

        $videoType = mime_content_type($videoTempName);


        // Verify video file type and size

        $allowedTypes = ['video/mp4', 'video/x-msvideo', 'video/quicktime', 'video/x-matroska'];

        $maxFileSize = 50 * 1024 * 1024; // 50MB


        if (in_array($videoType, $allowedTypes) && $videoSize <= $maxFileSize) {

            $uploadDirectory = 'uploads';

            if (!is_dir($uploadDirectory)) {

                mkdir($uploadDirectory, 0755, true);

            }


            $videoDestination = $uploadDirectory . '/' . uniqid('', true) . '.' . pathinfo($videoName, PATHINFO_EXTENSION);


            if (move_uploaded_file($videoTempName, $videoDestination)) {

                // Prepare the email

                $to = 'ЗДЕСЬ ВАША  ПОЧТА';

                $subject = 'New Video Uploaded with the Contact Form';

                $body = "Name: $name\nEmail: $email\nMessage: $message\n\nVideo Path: $videoDestination";

                $headers = [

                    'From' => $email,

                    'Reply-To' => $email,

                    'X-Mailer' => 'PHP/' . phpversion()

                ];


                // Send the email

                if (mail($to, $subject, $body, $headers)) {

                    echo "Your message and video have been sent successfully.";

                } else {

                    echo "Failed to send email.";

                }


            } else {

                echo "Failed to move uploaded video.";

            }

        } else {

            echo "Invalid video file or size too large.";

        }

    } else {

        echo "No video file uploaded or an error occurred.";

    }

}

?>


На этом пока все, кому нужно копируйте код, правильно размещайте на своем сайте и пользуйтесь!








Изображение

Автор

admin

Entrepreneur

Поделись:

Похожие сообщения