主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

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
发表评论