PHPのスーパグローバル変数とは?フォーム・セッション処理に欠かせない基本知識
PHPでは、特定の処理に関連するデータを扱うために、スーパグローバル変数(Superglobal Variables)があらかじめ用意されています。
スクリプト内のどこからでもアクセスできるため、フォーム送信やサーバー情報の取得などに広く利用されます。
スーパグローバル変数とは?
スーパグローバル変数とは、関数やクラスの内外を問わず、常にアクセス可能な特別な配列変数です。
主なスーパグローバル変数一覧
$_GET
:URLのクエリパラメータ
$_POST
:フォームからのPOSTデータ
$_REQUEST
:GET・POST・COOKIEをまとめたもの
$_SESSION
:セッションデータ
$_COOKIE
:クッキーの情報
$_SERVER
:サーバーやリクエストの情報
$_FILES
:アップロードされたファイル情報
$_ENV
:環境変数
$GLOBALS
:全グローバル変数の連想配列
使用例
@ $_GET
// URL: example.php?name=Taro
echo $_GET["name"]; // Taro
A $_POST
// フォームから送信されたデータを受け取る
echo $_POST["email"];
B $_SESSION
session_start();
$_SESSION["user"] = "花子";
echo $_SESSION["user"];
C $_SERVER
echo $_SERVER["HTTP_USER_AGENT"]; // ブラウザ情報
注意点とセキュリティ
- スーパグローバル変数の値は外部から送信されたデータを含む場合がある
- 必ずバリデーション(検証)とサニタイズ(無害化)を行う
$_REQUEST
は予期せぬ値の混在に注意
まとめ
- スーパグローバル変数は関数内外を問わずアクセス可能な特別な配列
- フォーム処理やサーバー情報取得などで頻繁に利用
- セキュリティ上、必ず入力チェックを行うべき
$_GET
, $_POST
, $_SESSION
などは特に使用頻度が高い
スーパグローバル変数は、PHPでWebアプリケーションを作る上で欠かせない存在です。
正しく理解し、安全に活用できるようにしておきましょう。