PHP $_GET 变量
                           
天天向上
发布: 2025-03-19 22:09:26

原创
968 人浏览过

$_GET 是 PHP 超级全局变量之一,主要用于通过 URL 向服务器发送数据。它用于获取 URL 中的查询字符串(查询参数)。例如,当你在浏览器中输入类似 http://example.com/index.php?name=John&age=25 这样的 URL 时,$_GET 变量将包含 nameage 作为键,并存储相应的值。


1️⃣ $_GET 变量的基本用法

当通过 GET 方法提交表单时,数据会以查询字符串的形式附加到 URL 后面。$_GET 允许你在 PHP 脚本中访问这些数据。

示例 1:通过 URL 获取参数

假设我们有以下 URL:

http://example.com/index.php?name=John&age=25

在 PHP 文件中,我们可以使用 $_GET 来访问 URL 中的查询参数:

<?php
// 获取 URL 中的查询参数
$name = $_GET['name']; // John
$age = $_GET['age'];   // 25

echo "姓名: " . $name . "<br>";
echo "年龄: " . $age . "<br>";
?>

2️⃣ 使用 $_GET 获取表单数据

通过 GET 方法提交的表单会将数据附加到 URL 中,并使用 $_GET 变量进行访问。例如:

HTML 表单

<form action="index.php" method="get">
    姓名: <input type="text" name="name">
    年龄: <input type="text" name="age">
    <input type="submit" value="提交">
</form>

PHP 处理脚本(index.php)

<?php
// 获取表单数据
if (isset($_GET['name']) && isset($_GET['age'])) {
    $name = $_GET['name'];
    $age = $_GET['age'];

    echo "姓名: " . $name . "<br>";
    echo "年龄: " . $age . "<br>";
} else {
    echo "请填写表单!";
}
?>

提交后的 URL

http://example.com/index.php?name=John&age=25

3️⃣ 安全性注意事项

由于 $_GET 数据直接暴露在 URL 中,它容易被篡改并且可以被日志记录器、浏览器历史等泄露。因此,敏感数据(如密码或私人信息)不应通过 GET 方法传递。对于敏感数据,应使用 POST 方法。

过滤与验证:

  • 验证输入数据:使用 filter_var() 函数验证 $_GET 数据的格式。
  • 数据清理:避免 XSS 攻击,使用 htmlspecialchars() 函数清理数据。

示例:

<?php
// 获取并清理输入数据
$name = isset($_GET['name']) ? htmlspecialchars($_GET['name']) : '';
$age = isset($_GET['age']) ? (int)$_GET['age'] : 0;

echo "姓名: " . $name . "<br>";
echo "年龄: " . $age . "<br>";
?>

4️⃣ 使用 $_GET 传递多个参数

$_GET 可以同时传递多个参数,多个参数通过 & 符号分隔。例如:

http://example.com/index.php?name=John&age=25&city=NewYork

你可以在 PHP 中访问这些参数:

<?php
$name = $_GET['name'];
$age = $_GET['age'];
$city = $_GET['city'];

echo "姓名: " . $name . "<br>";
echo "年龄: " . $age . "<br>";
echo "城市: " . $city . "<br>";
?>

5️⃣ $_GET$_POST 的区别

特点$_GET$_POST
数据传输方式URL 查询字符串HTTP 请求体
数据长度限制URL 长度限制(大约 2000 字符)没有明显限制
安全性数据暴露在 URL 中数据不直接暴露在 URL 中
使用场景查询数据、简单表单提交敏感信息、大量数据

6️⃣ 推荐阅读与文档

通过 $_GET 变量,我们可以轻松地从 URL 获取用户提交的数据。适当的验证和数据清理是确保应用安全的关键。更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *