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 通过电子邮件发送。