PHP 表单处理
在本教程中,你将学习如何使用 PHP 超全局变量收集通过表单提交的用户输入 $_GET
, $_POST
以及 $_REQUEST
。
创建简单的联系表单
在本教程中,我们将创建一个简单的 HMTL 联系表单,允许用户输入他们的评论和反馈,然后使用 PHP 将其显示到浏览器。
打开你喜欢的代码编辑器并创建一个新的 PHP 文件。现在键入以下代码并将此文件 contact-form.php
保存到项目根目录中。
例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Contact Form</title>
</head>
<body>
<h2>Contact Us</h2>
<p>Please fill in this form and send us.</p>
<form action="process-form.php" method="post">
<p>
<label for="inputName">Name:<sup>*</sup></label>
<input type="text" name="name" id="inputName">
</p>
<p>
<label for="inputEmail">Email:<sup>*</sup></label>
<input type="text" name="email" id="inputEmail">
</p>
<p>
<label for="inputSubject">Subject:</label>
<input type="text" name="subject" id="inputSubject">
</p>
<p>
<label for="inputComment">Message:<sup>*</sup></label>
<textarea name="message" id="inputComment" rows="5" cols="30"></textarea>
</p>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>
代码说明
请注意,开始 <form>
标记中有两个属性 :
- 该
action
属性引用一个 PHP 文件process-form.php
,当用户通过按下提交按钮提交数据时,该文件接收输入到表单中的数据。 - 该
method
属性告诉浏览器通过 POST 方法 发送表单数据。
表单中的其余元素是用于接收用户输入的基本表单控件。要了解有关 HTML 表单元素的更多信息,请查看 HTML 表单 教程。
使用 PHP 捕获表单数据
要访问特定表单字段的值,可以使用以下超全局变量。这些变量在整个脚本的所有范围内都可用。
超全局 | 描述 |
---|---|
$_GET |
包含使用 get 方法(即通过 URL 参数)由表单发送的所有字段名称和值的列表。 |
$_POST |
包含使用 post 方法由表单发送的所有字段名称和值的列表(数据在 URL 中不可见)。 |
$_REQUEST |
包含 $_GET 和 $_POST 变量的值以及 $_COOKIE 超全局变量的值。 |
当用户通过单击提交按钮提交上述联系表单时,表单数据将被发送到服务器上的 process-form.php
文件进行处理。它只是捕获用户提交的信息并将其显示给浏览器。
process-form.php
文件的 PHP 代码如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Contact Form</title>
</head>
<body>
<h1>Thank You</h1>
<p>Here is the information you have submitted:</p>
<ol>
<li><em>Name:</em> <?php echo $_POST["name"]?></li>
<li><em>Email:</em> <?php echo $_POST["email"]?></li>
<li><em>Subject:</em> <?php echo $_POST["subject"]?></li>
<li><em>Message:</em> <?php echo $_POST["message"]?></li>
</ol>
</body>
</html>
上面的 PHP 代码非常简单。由于表单数据是通过 post 方法发送的,因此你可以通过将其名称传递给 $_POST
超全局数组来检索特定表单字段的值,并使用 echo()
statement 显示每个字段值。
在现实世界中,你无法信任用户输入; 你必须实现某种验证以在使用之前过滤用户输入。在下一章中,你将学习如何清理和验证此联系表单数据并使用 PHP 通过电子邮件发送。