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