PHP 基础教程
PHP 高级教程
PHP & MySQL DATABASE
PHP 示例
PHP 参考手册

PHP 表单处理

在本教程中,您将学习如何使用 PHP 超全局变量 $_GET$_POST$_REQUEST 收集通过表单提交的用户输入 .

创建一个简单的联系表单

在本教程中,我们将创建一个简单的 HMTL 联系表单,允许用户输入他们的评论和反馈,然后使用 PHP 将其显示到浏览器。

打开您喜欢的代码编辑器并创建一个新的 PHP 文件。 现在键入以下代码并将此文件另存为"contact-form.asp"在项目的根目录中。

示例

Download
<!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.asp" 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.asp"文件进行处理。 它只是捕获用户提交的信息并将其显示到浏览器。

"process-form.php"文件的 PHP 代码如下所示:

示例

Download
<!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( ) 语句。

在现实世界中,您不能相信用户输入; 在使用用户输入之前,您必须实施某种验证来过滤用户输入。 在下一章中,您将学习如何清理和验证此联系表单数据并使用 PHP 通过电子邮件发送。

Advertisements