PHP $_POST 变量
$_POST
是 PHP 中的一个超全局变量(associative array),用于收集通过 HTTP POST 方法提交的表单数据。
与$_GET
类似,$_POST
同样用于数据提交,但二者在数据传输方式上存在明显区别:
- 安全性 - 相比
$_GET
,$_POST
不会在 URL 中显示提交的数据 - 数据量 - 可以传输较大的数据量(相比
GET
方法) - 内容类型 - 可以上传文件(需要设置
enctype="multipart/form-data"
)
使用实例
✅ 预定义的$_POST
变量用于收集来自method="post"
的表单中的值:
<html>
<head>
<meta charset="utf-8">
<title>开创者教程(kaicz.com)</title>
</head>
<body>
<form method="post" action="process.php">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="Submit">
</form>
</body>
</html>
✅ 当 HTML 表单使用method="post"
提交时,表单数据会被存储在$_POST
数组中:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") { // 确保是 POST 请求
if (isset($_POST["username"])) { // 检查字段是否存在
$username = htmlspecialchars($_POST["username"]); // 防止 XSS 攻击
echo "您提交的用户名是:" . $username;
} else {
echo "用户名字段未提交!";
}
}
?>
✅ $_POST
关键点说明:
$_POST
仅适用于method="post"
的表单- 使用
$_SERVER["REQUEST_METHOD"]
验证请求方式 isset()
检查字段是否存在,避免未定义错误htmlspecialchars()
转义输出,防止 XSS 攻击
与 $_GET 的区别
特性 | $_POST | $_GET |
---|---|---|
数据位置 | HTTP 请求体 | URL 查询字符串 |
数据可见性 | 不可见 | 可见 |
数据大小 | 较大 | 受限(约 2048 字符) |
缓存 | 不缓存 | 可缓存 |
用途 | 修改数据/敏感信息 | 获取数据/非敏感信息 |
评论区 0
发表评论
教程介绍
PHP 通用开源服务器端脚本语言,特别适用于 Web 开发,能够嵌入 HTML 中使用。
42
章节
42
阅读
0
评论
反馈提交成功
感谢您的反馈,我们将尽快处理您的反馈