HTMLで作成したページにPHPスクリプトを埋め込むことによって、動的に変化するページを作成することができます。フォームからの送信には通常のPOST送信のほか、URLにデータを含めて送信するGET送信があります。GET送信は、指定されたパラメータでアクセスしてもらう利便性がありますが、いたずらにクリックを呼ぶことがあります。 POST送信ではパラメータが表示されないので、いたずらを回避することができます。
メッセージが変化する
下記サンプルはボタンが押されるたびに、メッセージが変化する「動的」なページです。(GET送信)
ようやく動きました!
自分自身を呼び出すには自分自身のURLを記述する必要があります。この記事のURLをそのまま action に入れてみました。
自分自身のURLを入れたくないので、action に “#” を入れるという方法を見つけました。
いやぁ、難しいというか、奥が深いというか・・・
【ソース】
<form method="GET" action="#"> <p>↓ボタンをクリックしてください。</p> <p><input type="submit" value="「おはよう」" name="Good_morning"></p> <p><input type="submit" value="「こんにちは」" name="Good_afternoon"></p> <p><input type="submit" value="「こんばんは」" name="Good_evening"></p> <table width="351" border="1" cellpadding="5"> <tr> <td width="333"> <?php //スクリプトの始まり error_reporting(0); if ($_GET["Good_morning"]) { //最初のボタンが押されたら print("Good morning\n"); //メッセージを表示する } elseif ($_GET["Good_afternoon"]) { print("Good afternoon\n"); } elseif ($_GET["Good_evening"]) { print("Good evening\n"); } ?> </td> </tr> </table> </form>
1行のテキストボックス
次のサンプルでは、1行目のテキストボックスに入れた値を、2行目にセットします。
ラジオボタン
次の例では、性別をチェックするラジオボタンに、PHPスクリプトを組み込みます。
実行するには[男性]か[女性]のボタンをクリックします。
【ソース】
<form method="GET" action="#"><p> <input type="submit" value="男性" name="man"> <input type="submit" value="女性" name="woman"><p> <input type="radio" value="1" name="seibetu" <? if ($_GET["man"]) { print("checked"); } ?>>男性</p> <p><input type="radio" value="2" name="seibetu" <? if ($_GET["woman"]) { print("checked"); } ?>>女性</p> </form>
チェックボックス
チェックボックスを「ON]」にします。
男性
女性
<p><input type="checkbox" value="ON" name="man" <? if ($_GET["man"] == "ON") { print("checked"); } ?>>男性</p> <p><input type="checkbox" value="ON" name="woman" <? if ($_GET["woman"] == "ON") { print("checked"); } ?>>女性</p>