Создание контактной формы
Создайте контактную форму, отправляющую сообщения по электронной почте
«Создание контактной формы» — бесплатный урок PHP Academy на CoddyKit. Это урок 2 из 2. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 2 уроков всего.
Введение в проект контактной формы
Создание контактной формы
Добро пожаловать на урок по созданию контактной формы! В этом проекте вы научитесь создавать контактную форму, которая позволяет пользователям отправлять сообщения по электронной почте. Давайте начнём!

Настройка проекта
Настройка проекта
Перед началом убедитесь, что у вас есть:
- Веб-сервер, например XAMPP или WAMP.
- Текстовый редактор или интегрированная среда разработки, например VS Code.
- Файл с именем
contact.phpв каталоге проекта. - Включённая функция
mail()PHP, необходимая для отправки электронных писем.
Совет: Для локального тестирования может потребоваться настроить параметры почтового сервера.
Создание базовой HTML-формы
Создание базовой HTML-формы
Начните с создания структуры HTML для контактной формы. Пример:
Ключевой момент: Используйте атрибут required, чтобы перед отправкой убедиться, что все поля заполнены.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contact Form</title>
</head>
<body>
<h1>Contact Us</h1>
<form action="contact.php" method="post">
<label for="name">Name:</label><br>
<input type="text" id="name" name="name" required><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" required><br><br>
<label for="message">Message:</label><br>
<textarea id="message" name="message" rows="5" required></textarea><br><br>
<button type="submit" name="submit">Send Message</button>
</form>
</body>
</html>
Обработка данных формы
Обработка данных формы
В файле contact.php обработайте отправку формы. Пример:
Совет: Используйте htmlspecialchars(), чтобы предотвратить атаки XSS, экранируя символы HTML.
<?php
if (isset($_POST['submit'])) {
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
echo "Name: $name<br>";
echo "Email: $email<br>";
echo "Message: $message<br>";
}
?>
Проверка ввода
Проверка ввода
Перед обработкой проверьте ввод, чтобы убедиться, что он соответствует вашим требованиям. Пример:
Ключевой момент: Всегда проверяйте пользовательский ввод, чтобы избежать некорректных или вредоносных данных.
<?php
if (isset($_POST['submit'])) {
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
echo "Invalid email address.";
exit;
}
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
echo "Valid input. Processing...";
}
?>
Отправка электронного письма
Отправка электронного письма
Используйте функцию mail() PHP, чтобы отправить данные формы на адрес электронной почты. Пример:
Совет: Используйте действительный адрес From, чтобы избежать проблем с доставкой электронных писем.
<?php
if (isset($_POST['submit'])) {
$to = "admin@example.com"; // Replace with your email
$subject = "New Contact Form Submission";
$message = "Name: $name\nEmail: $email\nMessage:\n$message";
$headers = "From: $email";
if (mail($to, $subject, $message, $headers)) {
echo "Message sent successfully!";
} else {
echo "Failed to send the message.";
}
}
?>
Расширение формы
Расширение формы
Вы можете добавить следующие улучшения:
- Отображайте сообщения об успешном выполнении или ошибках непосредственно в форме.
- Оформите форму с помощью CSS, чтобы улучшить пользовательский интерфейс.
- Внедрите CAPTCHA, чтобы предотвратить отправку спама.
Ключевой момент: Улучшения повышают удобство использования и безопасность.
Отладка проблем с электронной почтой
Отладка проблем с электронной почтой
Если электронное письмо не отправляется, проверьте следующее:
- Убедитесь, что функция
mail()PHP включена. - Проверьте, что адрес электронной почты
Fromдействителен. - Проверьте журналы почты вашего сервера на наличие ошибок.
Совет: Для расширенных возможностей работы с электронной почтой рассмотрите возможность использования библиотеки PHPMailer.
Отличная работа!
Отличная работа!
Поздравляем! Вы создали функциональную контактную форму на PHP. Вы научились создавать форму, обрабатывать её данные, проверять ввод и отправлять электронные письма. На следующем уроке мы создадим ещё один интересный проект, чтобы ещё больше улучшить ваши навыки работы с PHP. Продолжайте программировать!

Часто задаваемые вопросы
Урок «Создание контактной формы» бесплатный?
Да — полный текст урока «Создание контактной формы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 2 уроков всего.
Чему я научусь в уроке «Создание контактной формы»?
Создайте контактную форму, отправляющую сообщения по электронной почте Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать PHP Academy?
Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 2.
Сколько времени занимает урок «Создание контактной формы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке PHP Academy?
Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание простого списка дел
- Создание контактной формы