在 PHP 中,
$_GET
是一个超全局变量,用于收集通过 URL 参数(即 HTTP GET 方法)发送的数据。
当表单使用
method="get"
提交,或者直接在 URL 中添加参数(如 page.php?id=1&name=test
)时,这些数据会被存储在 $_GET
数组中。基本用法示例:
假设 URL 是:
http://example.com/page.php?id=123&name=John
你可以这样获取参数:
php
<?php
// 获取 id 参数
if (isset($_GET['id'])) {$id = $_GET['id'];echo "ID: " . $id; // 输出:ID: 123
}// 获取 name 参数
if (isset($_GET['name'])) {$name = $_GET['name'];echo "<br>Name: " . $name; // 输出:Name: John
}
?>
重要注意事项:
-
安全性:
$_GET
数据是用户可控的,可能包含恶意内容,使用前必须验证和过滤:php// 验证数字参数 if (isset($_GET['id']) && is_numeric($_GET['id'])) {$id = (int)$_GET['id']; }// 过滤字符串参数 if (isset($_GET['name'])) {$name = htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8'); }
-
可见性:GET 参数会显示在 URL 中,不适合传递敏感信息(如密码)。
-
长度限制:URL 长度有限制(不同浏览器和服务器限制不同),因此不适合传递大量数据。
-
缓存:GET 请求可能被浏览器缓存,适合用于不改变服务器状态的请求(如查询数据)。
通过
$_GET
可以方便地处理 URL 中的参数,但务必注意安全处理,防止 XSS 攻击等安全问题