创建联系表单
构建一个通过电子邮件发送消息的联系表单
创建联系表单 是 CoddyKit 上的免费 PHP Academy 课时。 这是第 2 节课,共 2 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 PHP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 PHP Academy 课程共包含 2 节课。
联系表单项目简介
创建联系表单
欢迎学习如何创建联系表单!在这个项目中,您将学习如何构建一个允许用户通过电子邮件发送消息的联系表单。让我们开始吧!

设置项目
设置项目
开始之前,请确保您具备以下条件:
- 像 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 技能。让我们继续编写代码吧!

常见问题解答
「创建联系表单」课时是免费的吗?
是的 — 「创建联系表单」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 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 反馈 — 无需本地设置。
此课程中的所有课时
- 构建简单待办事项列表
- 创建联系表单