スーパーグローバル変数
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
クライアントからクッキーで送り込まれた値を保持する。
メール送信関数 前へ
次へ 環境変数と携帯サイト