output.php
Apacheから処理を依頼された putput.php は、入力データを $_POST[] 配列から受け取ります。 これは連想配列で、$_POST[’name’]
で、入力テキストを受け取ります。
output.php は以下のファイルで、webサーバー上でinput.php と同じフォルダに配置します。
<html> <head> <title>フォーム情報を取得する</title> </head> <body> こんにちは、 <?php print($_POST['name']); ?>さん! </form> </body> </html>
FORM
PHPはCGIとして、FORMからのデータを受けとり、結果をhtmlとして返すことができます。
テキスト入力
inputタグで文字を受け取り、それを、output.php に渡す入力用の html を作成します。これは、名前にテキストを入力し、「送信」ボタンを押すと、
入力テキストをcgiエンコードして、webサーバー(apache)に送ります。apacheはこの処理を
form のaction で指定された output.php に依頼します。ここで、ApacheからPHPへの連携が必要になります。
input.php
<html> <head> <title>フォーム情報を取得する</title> </head> <body> <form method="POST" action="output.php"> お名前: <input type="text" name="name" size="20" maxlength="30" /> <input type="submit" value="送信" /> </form> </body> </html>
FORM、CGIエンコード
FORMはブラウザ側で文字や選択を受け取り、web サーバーに返します。FORM で入力された文字列や選択は、CGIエンコードと呼ばれる方式で変換して送られます。詳しくは、こちらをを参照してください。
CGI
input.php はブラウザがwebサーバーからgetして実行する html ファイルです。一方、output.php はサーバー上で実行され
print($_POST['name']) で Form 入力 の文字を置き換えた後、ブラウザに送られます。