悠闲博客-blog.yxrjt.cn

PHP中两种常见的HTTP请求数据获取方式$_POST $_GET

更新时间:2025-10-15 10:25点击:66

$_POST$_GET是PHP中两种常见的HTTP请求数据获取方式,主要区别在于传输方式、安全性及适用场景:

核心差异

  • 传输方式
    $_GET通过URL传递参数(如?key=value),参数可见于浏览器地址栏;$_POST数据通过HTTP请求体传输,用户不可见。 ‌12

  • 安全性
    $_POST更适合传输敏感信息(如密码、支付数据),因数据加密传输且不会暴露在URL中;$_GET传输的数据可被直接看到,存在隐私风险。 ‌12

  • 数据量限制
    $_GET传输数据量有限(通常小于2000字符),仅支持文本传输;$_POST无数据量限制,支持文件、图片等大文件上传。 ‌12

适用场景

  • $_GET‌:用于非敏感数据查询,如商品搜索、页面跳转参数。 ‌13
  • $_POST‌:用于表单提交、文件上传、用户注册/登录等需保密的场景。 ‌24

代码示例(PHP)

phpCopy Code
// 获取GET请求参数 $getVar = $_GET['key']; // 获取POST请求参数 $postVar = $_POST['key'];
9种超全局数组:
    $_GET
    $_POST
    $_REQUEST
    $_SERVER
    $_ENV
    $_FILE
    $_COOKIE
    $_SESSION
    $GLOBALS

php表单处理中:
$_POST是一个超全局变量,是一个数组变量(关联数组)
键:表单域的名称
值:表单域的值
$_GET是一个超全局变量
$_GET是一个数组变量

GET vs POST:
GET:

通过GET方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在URL中)。
GET可用于发送非敏感的数据,不能使用GET来发送密码或其他敏感信息。
GET对所发送的数量也有限制。限制在小于2000个字符。
POST:

通过POST方法从表单发送的信息对其他人是不可见的。
POST适合发送敏感数据。
POST对所发送信息的数量无限制。
<?php
header("content-type:text/html;charset=utf-8");
echo "<a href='b.php?name=xiaomi'>点击</a>";
?>

<?php
print_r($_GET);
echo "<br>";
echo $_GET['name'];

?>


1.php

<html>
<head>
<title></title>
<meta charset="utf-8" />
</head>
<body>
<form action="2.php" method ="post">
姓名:<input type ="text"  name ="name"><br><br>
密码:<input type ="password" name ="password"><br><br>
<input type ="submit" value ="提交">
</ form>
</body>
</html>

2.php

<?php

echo $_POST["name"];
echo "<br>";
echo $_POST["password"];

?>

栏目分类

联系方式
  • help@yxrjt.cn
  • lgc@yxrjt.cn
  • admin@yxrjt.cn