スーパーグローバル変数とは?
PHPでプログラムを書いていると、フォームの入力内容を受け取ったり、URLに含まれる値を使ったり する場面がよく出てきます。
こうした「外部から渡されるデータ」や「サーバーの情報」を簡単に扱えるように、PHPには あらかじめ特別な変数 が用意されています。これが スーパーグローバル変数(Superglobal variables) です。
- PHPが最初から用意している「特別な変数」
- どこからでも(関数の中でも)使える → グローバルスコープで常に利用可能
- すべて 連想配列 の形になっている
- フォーム入力・URLパラメータ・ファイルアップロードなどに欠かせない
例えば「ログインフォームで入力したユーザー名を受け取る」ときは $_POST を、
「検索ページで ?keyword=PHP のようにURLに含まれる値を使う」ときは $_GET を使います。
また、スーパーグローバル変数を使うときには セキュリティ対策(htmlspecialchars() など) を忘れないことが大切です。外部から来たデータをそのまま表示すると、クロスサイトスクリプティング(XSS)と呼ばれる攻撃の原因になるからです
主なスーパーグローバル変数一覧
スクロールできます
| 変数名 | 内容・用途の例 |
|---|---|
$_POST | フォームで POST送信 された値を取得(ログイン・会員登録など) |
$_GET | URLに含まれる GETパラメータ を取得(検索キーワード、ページ切替など) |
$_REQUEST | POST・GET・COOKIE の値をまとめて取得(便利だが区別できないため基本は非推奨) |
$_SERVER | サーバー情報や現在のURL、ヘッダーなどを取得 例: $_SERVER['REQUEST_METHOD'] で「GETかPOSTか」を判定 |
$_SESSION | ユーザーごとの状態を一時的に保存(ログイン状態の保持など) |
$_COOKIE | ブラウザに保存されたクッキーの値を取得(ログイン情報やトラッキングなど) |
$_FILES | ファイルアップロード時に使う(画像やPDFなどを処理する) |
$_ENV | 環境変数を取得(サーバー設定や環境依存の情報など) |
$_GLOBALS | グローバル変数すべてを配列で取得(特殊用途。ほとんど使わない) |

