フォームの処理

PHP の最も強力な機能の一つは、HTML フォームを処理する手段です。 理解するべき重要な基本概念は、あるフォームの中の全てのフォーム要素が、 自動的に PHP スクリプトで利用可能になるということです。 詳細は、マニュアルのセクション PHPの外部からくる変数 および PHP でフォームを使用する例を参照してください。以下に HTML フォームの例を示します。

例 2-7. 簡単な HTML フォーム

<form action="action.php" method="post">
 名前: <input type="text" name="name" />
 年齢: <input type="text" name="age" />
 <input type="submit" />
</form>

このフォームに関して特別なところはありません。これは通常の HTML フォームで特殊なタグは全く使用していません。 ユーザがこのフォームを記入し、投稿ボタンを押した時、 action.php ページがコールされます。 このファイルには、以下のようなコードを記述します。

例 2-8. フォームからのデータを出力する

こんにちは、<?php echo $_POST['name']; ?>さん。
あなたは、<?php echo $_POST['age']; ?> 歳です。

このスクリプトの出力例は次のようになります。
こんにちは、Joe さん。
あなたは、22 歳です。

これら行なっていることは明らかです。他に行なっていることはありません。 変数 $_POST['name']$_POST['age'] は PHP により自動的に設定されます。 前の部分では、オートグローバル$_SERVER を使用しましたが、 ここでは、全ての POST データを保持するオートグローバル $_POST を導入しています。 フォームのメソッドが POST であることに注意してください。 GET メソッドを使用している場合、 フォームの情報は代わりにオートグローバル $_GET に代入されます。リクエストデータの発信源に留意しない場合には、 オートグローバル変数 $_REQUEST を使用することもできます。この変数は、GET, POST, COOKIE, FILE データの混ざったものが含まれます。 import_request_variables() 関数も参照してください。