PHP表单
表单是Web应用程序与用户交互的主要方式。在本章节中,您将学习如何创建HTML表单并在PHP中处理表单数据。
PHP表单基础
PHP可以处理来自HTML表单的数据,包括文本字段、单选按钮、复选框、下拉列表等各种表单元素。表单数据可以通过GET或POST方法提交到服务器,然后PHP脚本可以处理这些数据。
HTML表单结构
一个基本的HTML表单包含以下元素:
<form action="process.php" method="post">
<label for="name">姓名:</label>
<input type="text" id="name" name="name">
<label for="email">邮箱:</label>
<input type="email" id="email" name="email">
<input type="submit" value="提交">
</form>
表单提交方法
HTML表单可以使用两种主要的提交方法:
- GET方法:表单数据附加在URL后面,以问号(?)开始,参数之间用&分隔。GET方法适用于不敏感的、简短的数据,并且有大小限制。
- POST方法:表单数据作为HTTP请求的一部分发送,不会显示在URL中。POST方法适用于敏感数据或大量数据,没有GET方法那样的大小限制。
PHP处理表单数据
PHP通过超全局变量来访问表单数据:
$_GET
:包含通过GET方法提交的所有数据$_POST
:包含通过POST方法提交的所有数据$_REQUEST
:包含通过GET、POST和Cookie提交的所有数据
GET方法示例
以下是一个使用GET方法提交表单的示例:
<!-- HTML表单 -->
<form action="welcome.php" method="get">
姓名:<input type="text" name="name">
年龄:<input type="number" name="age">
<input type="submit">
</form>
处理GET方法提交的表单数据:
<?php
// welcome.php
$name = $_GET["name"];
$age = $_GET["age"];
echo "欢迎 ".$name."!
";
echo "您的年龄是 ".$age." 岁。";
?>
POST方法示例
以下是一个使用POST方法提交表单的示例:
<!-- HTML表单 -->
<form action="welcome.php" method="post">
姓名:<input type="text" name="name">
年龄:<input type="number" name="age">
<input type="submit">
</form>
处理POST方法提交的表单数据:
<?php
// welcome.php
$name = $_POST["name"];
$age = $_POST["age"];
echo "欢迎 ".$name."!
";
echo "您的年龄是 ".$age." 岁。";
?>
表单安全
处理表单数据时,安全性非常重要。以下是一些基本的安全实践:
- 始终验证和清理用户输入的数据
- 使用预处理语句来防止SQL注入
- 对于显示的数据,使用htmlspecialchars()函数进行转义
- 对敏感数据使用适当的加密方法
提示:在实际应用中,我们通常会使用POST方法来提交包含敏感信息的表单,如登录表单、注册表单等。GET方法适用于搜索表单或需要可以被书签保存的结果页面。