0Pricing
PHP Academy · Урок

Создание контактной формы

Создайте контактную форму, отправляющую сообщения по электронной почте

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

Введение в проект контактной формы

Создание контактной формы

Добро пожаловать на урок по созданию контактной формы! В этом проекте вы научитесь создавать контактную форму, которая позволяет пользователям отправлять сообщения по электронной почте. Давайте начнём!

Создание контактной формы — иллюстрация 1

Настройка проекта

Настройка проекта

Перед началом убедитесь, что у вас есть:

  • Веб-сервер, например 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. Продолжайте программировать!

Создание контактной формы — иллюстрация 10

Часто задаваемые вопросы

Урок «Создание контактной формы» бесплатный?

Да — полный текст урока «Создание контактной формы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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 — локальная установка не требуется.

Все уроки этого курса

  1. Создание простого списка дел
  2. Создание контактной формы
← Назад к PHP Academy