PHPで作るインタラクティブなページ
PHP はブラウザから値を受け取って処理して返すというインタラクティブなページ作りのためのスクリプト言語である。と、、思う。(自信なし)
インタラクティブなページを作る。(ブラウザから値を受け取る)
- PHPが実力を発揮するには、やはりなんらかの値を受け取り加工して出力する、インタラクティブなページ作りにある。それには、HTMLのフォームを使って、ブラウザで値を入力し、それをサーバー上のPHPに送る必要がある。
- PHPに値を送る方法はPOSTメソッド、GETメソッド、.クッキーなどがあるが、ここではそのうちの一つだけ「POSTメソッド」を使ってみる。難しそうだが、やってみれば簡単。ファイルは2つ作るので注意。
- ファイル名をtest4.htmlとする
<html> <HEAD> <TITLE>タイトルはテスト4 入力</TITLE> </HEAD> <body> <form action="test4.php" method="post"> Aの値は<input type="TEXT" name="dataa" size=20 maxlength=20 > <BR> Bの値は<input type="TEXT" name="datab" size=20 maxlength=20 > <BR> <input type="submit" name="exec" value="入力データをおくる"> <BR> <input type="reset" name="exec" value="やりなおし"> </body> </html>
- test4.php
<? print_r($HTTP_POST_VARS); ?>
この2つのファイルをサーバーに送っておいて、test4.htmlにブラウザからアクセスする。test4.htmlではフォームデータからPOSTメソッドでデータ「Aの値(dataa)」「Bの値(datab)」をtest4.phpに送る。POSTメソッドで送られたデータは、 PHP側では、$HTTP_POST_VARSという連想配列に格納されていることになっているので、これを取り出せばよい。 - ここで、print_r($HTTP_POST_VARS);は、その連想配列をすべて表示する命令である。きちんと送られたかどうか確認するのに便利な命令だ。
- 実際に変数として取り出す方法は、$HTTP_POST_VARS[""]関数を使って、以下のようにすればよい。
<? $a = $HTTP_POST_VARS["dataa"]; $b = $HTTP_POST_VARS["datab"]; echo $a; echo $b; ?>
- PHP4以前のバージョンではフォームで送られたデータを直接変数としてスクリプト内で利用できたが、現在はセキュリティの関係で上記のような方法になっている。このデータをもとにPHPスクリプトを作れば見ている人のアクションに合わせて変化するページを作ることができる。