Z
ZHANK
入门基础

超全局变量

$_GET/$_POST/$_SERVER/$_SESSION/$_COOKIE 等超全局数组

超全局变量

PHP 提供了 9 个超全局(superglobal)变量——在任何作用域都能访问。它们是 Web 开发的核心通道。

学完本章你将: 掌握 $_GET/$_POST/$_SERVER/$_SESSION/$_COOKIE 等。


速查表

php
<?php
// 1. $_GET    — URL 查询参数
// 2. $_POST   — POST 表单数据
// 3. $_SERVER — 服务器和执行环境信息
// 4. $_SESSION — 会话数据
// 5. $_COOKIE  — Cookie 值
// 6. $_REQUEST — GET+POST+COOKIE 合并(不推荐依赖)
// 7. $_FILES   — 上传的文件
// 8. $_ENV     — 环境变量
// 9. $GLOBALS  — 所有全局变量的引用

$_SERVER 常用值

php
<?php
echo $_SERVER['PHP_SELF'];        // 当前脚本路径
echo $_SERVER['SERVER_NAME'];     // 主机名
echo $_SERVER['REQUEST_METHOD'];  // GET/POST
echo $_SERVER['HTTP_USER_AGENT']; // 浏览器 UA
echo $_SERVER['REMOTE_ADDR'];     // 客户端 IP
echo $_SERVER['REQUEST_URI'];     // 请求 URI(含查询参数)

安全的参数访问

php
<?php
// ❌ 未检查直接使用——可能触发警告
$page = $_GET['page'];

// ✅ 先检查是否存在
$page = $_GET['page'] ?? 1;                  // null 合并
$page = isset($_GET['page']) ? $_GET['page'] : 1;

// ✅ 过滤输入
$page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT) ?: 1;