前回までで、PHPプログラムの一番の基礎である変数(スカラー型・配列型 変数・ハッシュ(連想配列))についてお話してきました。 変数のお話はこれで終わりですが、ハッシュの話の中で、ハッシュはフォーム を使ったページ間での値の受け渡しに大活躍すると書きましたので、今回は、 ほんのさわりの部分だけですが、これについてお話したいと思います。 今までは、PHPのスクリプトそのものだけを書いて、その動きを確かめるだ けでしたが、今回は、ブラウザ上から値を入力して、それを何らかの処理をし てブラウザ上に再び表示する、というWebアプリケーションっぽい内容となって います。 ■テキストボックスに入力した値をブラウザ上に表示する まずは、一行テキストボックスを用意して、そこに入力された内容をブラウザ 上に表示する、ということをやってみます。 まずは下記のような一行テキストボックスをHTML文でつくります。 (マァ、これはごくありきたりのHTMLファイルです。) ------------------------------------------------- <html> <head> <title>テキストボックスのテスト</title> </head> <body> <form action="068-2.php" method="post"> お名前を入力してください<br> <input type="text" name="namae"><br> <input type="submit" name="bottun1" value="入力"> </form> </body> </html> ------------------------------------------------- これを068-1.htmという名前で、C:\Inetpub\wwwroot\phpフォルダに保存しま す。
そして、ブラウザのアドレス欄に「http://localhost/php/068-1.htm」と入力 すると、よく見かける一行テキストボックスが表示されます。
次に、PHPで入力された内容を表示するスクリプトを作成します。 -------------------------------------- <?php $a_1 = $_POST["namae"]; $a_2 = $_POST["bottun1"]; print("あなたの名前は".$a_1."ですね<br>"); print("ちなみにボタンの名前は".$a_2."となっています"); ?> -------------------------------------- このPHPスクリプトを「068-2.php」という名前で、上の068-1.htmとを保存 した同じフォルダに保存します。
これで、準備が整いました。 ブラウザのアドレス欄に「http://localhost/php/068-1.htm」と入力し、テキ ストボックスに適当な文字を入力し
入力ボタンを押してください。 そうすると、上で用意したPHPファイルにより、ブラウザ上に入力した文字 と、ボタンの名前が表示されると思います。
■注意点と解説 では、上の2つのファイルについて、その注意点と解説をしたいと思います。 【注意点】 ・<form action="068-2.php"となっているように、「action=」に指定するフ ァイル名は、必ず、データを受け取るPHPファイル名(この場合は「068- 2.php」)を指定してください。(一致させてください) ・一行テキストボックスのタグには「name="namae"」という具合に、必ずネー ム属性を記述してください(名前を記述してください)。 名前は自分が好きなように付けて構いません。 【解説】 ・上のHTMLファイルを注意点を守りった場合、入力ボタンを押すと、<for m>〜</form>の間に記述してある内容は、一括して、PHPファイルに渡さ れ、その内容は「$_POST」という名前の連想配列(ハッシュ)に格納されま す。 この「$_POST」というのは、PHPのシステム側であらかじめ用意されたも のであり、決められているている連想配列(ハッシュ)の名前なので、他の 名前にすると、エラーとなり、値を取り出すことができません。 ・例えば、一行テキストボックスには、HTMLファイルの方で「namae」と いう名称が指定されているので、ここの値を取り出したい場合は「$_POST[" namae"]」という指定により、値を取り出すことができます。 ・これは遊びですが、「<input type="submit" name="bottun1" value="入力" >」の箇所にも「name="bottun1"」と名前を指定しているので、「$_POST["b ottun1"]」という指定により、ボタンに書いてある名称も取り出すことがで きます。 (実際にはあまり意味がないものですが、動きの例として取り上げました) 以上のように、連想配列(ハッシュ)は単に変数に複数の値を入れて取り出す だけではなく、特に「$_POST[ ]」という形式は、フォームをつかったページ 間の値のやり取りに重要な役割を担っています。
42歳のオヤジでもできた!パソコンサーバー化計画 (マガジンID:0000114576)
Powered by