0Pricing
PHP Academy · 课时

创建联系表单

构建一个通过电子邮件发送消息的联系表单

创建联系表单 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 2 节课,共 2 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 2 节课。

联系表单项目简介

创建联系表单

欢迎学习如何创建联系表单!在这个项目中,您将学习如何构建一个允许用户通过电子邮件发送消息的联系表单。让我们开始吧!

创建联系表单 — 插图 1

设置项目

设置项目

开始之前,请确保您具备以下条件:

  • 像 XAMPP 或 WAMP 这样的 Web 服务器。
  • 文本编辑器或 IDE(例如 VS Code)。
  • 项目目录中有一个名为 contact.php 的文件。
  • 已启用 PHP 的 mail() 函数(发送电子邮件所必需)。

提示:进行本地测试时,您可能需要配置邮件服务器设置。

创建基本 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() 转义 HTML 字符,以防止 XSS 攻击。

<?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...";
  }
?>

发送电子邮件

发送电子邮件

使用 PHP 的 mail() 函数将表单数据发送到电子邮件地址。示例:

提示:使用有效的 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,以防止垃圾提交。

要点:改进可以提升用户体验和安全性。

调试电子邮件问题

调试电子邮件问题

如果电子邮件未发送,请检查以下内容:

  • 确保 PHP 的 mail() 函数已启用。
  • 确认 From 电子邮件地址有效。
  • 检查服务器的邮件日志中是否有错误。

提示:对于高级电子邮件功能,可以考虑使用 PHPMailer 等库。

做得好!

做得好!

恭喜您!您已经使用 PHP 构建了一个功能完整的联系表单。您学习了如何创建表单、处理表单数据、验证输入以及发送电子邮件。在下一课中,我们将构建另一个有趣的项目,进一步提升您的 PHP 技能。让我们继续编写代码吧!

创建联系表单 — 插图 10

常见问题解答

「创建联系表单」课时是免费的吗?

是的 — 「创建联系表单」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 PHP Academy 课程的其余内容,请升级到 CoddyKit PRO。 PHP Academy 课程共包含 2 节课。

「创建联系表单」这节课中我会学到什么?

构建一个通过电子邮件发送消息的联系表单 你通过在浏览器中直接运行的动手代码来练习 PHP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 PHP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 PHP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 2 节。

「创建联系表单」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 PHP Academy 课中编写并运行代码吗?

能。每节 PHP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 构建简单待办事项列表
  2. 创建联系表单
← 返回 PHP Academy