スーパーグローバル変数

 PHP4.2.0以降の変数の扱い方の変更点については、前の「11.外部から来る変数」のコーナーでも少し述べましたが、そこではGETとPOSTの場合のみでしたので、ここでもう少し詳しく説明したいと思います。

php.iniの変更点

 PHP4.2.0以降、セキュリティー強化の為、register_globalsパラメータの値が従来の「On」から「Off」に変更になっています。これにより各変数の値が従来のような「$変数名」と言う簡単な形で取得できなくなっており、須らくPHP4.1.0より追加されたスーパーグローバル変数を使わなくてはいけなくなりました。尚、このスーパーグローバル変数は通常の変数と異なり、global宣言をすることなく参照できます。

スーパーグローバル変数

 では、このスーパーグローバル変数について概略を説明しましょう。

変数名

従来の名前

使用方法

$_SERVER $HTTP_SERVER_VARS 実行環境情報などを保持する
$_ENV $HTTP_ENV_VARS 環境変数
$_POST $HTTP_POST_VARS HTTP POSTメソッドで与えられた変数
$_GET $HTTP_GET_VARS HTTP GETメソッドで与えられた変数
$_COOKIE $HTTP_COOKIE_VARS HTTPクッキーを通じて与えられた変数

$_SERVER

 従来、環境周りの情報を取得するために使用していた $PHP_SELF、$REMOTE_ADDRなどが、すべて $_SERVER[ ]にまとめられた。

例: $_SERVER["PHP_SELF"]

$_ENV

 PHP実行時の環境変数(getenv()で取得できるもの)を保持している。PHPがDSOで組み込まれている場合は、サーバの実行時の環境変数となる。

$_POST、$_GET

HTMLフォームのMETHODでPOSTを指定した場合、スクリプト側は $_POST['変数名'] で入力を受け取る。METHODでGETを指定、または何も指定しなかった場合、又はURLに「?変数名=値」で渡された引数については $_GET['変数名'] で受け取る。

$_COOKIE

クライアントからクッキーで送り込まれた値を保持する。

メール送信関数 前へ

HOME

次へ 環境変数と携帯サイト