PHP 表单处理

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

创建一个简单的联系表

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

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

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>联系表</title>
</head>

    <h2>联系我们</h2>
    <p>请填写此表格并发送给我们。</p>
    <form action="process-form.html" method="post">
        <p>
            <label for="inputName">姓名:<sup>*</sup></label>
            <input type="text" name="name" id="inputName">
        </p>
        <p>
            <label for="inputEmail">电子邮件:<sup>*</sup></label>
            <input type="text" name="email" id="inputEmail">
        </p>
        <p>
            <label for="inputSubject">主题:</label>
            <input type="text" name="subject" id="inputSubject">
        </p>
        <p>
            <label for="inputComment">内容:<sup>*</sup></label>
            <textarea name="message" id="inputComment" rows="5" cols="30"></textarea>
        </p>
        <input type="submit" value="提交">
        <input type="reset" value="重置">
    </form>

</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>
<head>
    <meta charset="UTF-8">
    <title>联系表</title>
</head>

    <h1>谢谢</h1>
    <p>这是您提交的信息:</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>

</html>

上面的PHP代码非常简单。 由于表单数据是通过POST方法发送的,因此您可以通过将特定表单字段的名称传递给$_POST超全局数组来检索该字段的值,并使用echo()语句显示每个字段的值。

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