プロが教える店舗&オフィスのセキュリティ対策術

例えば、下のコードの場合、
<?php
echo'
<select name=\"selname\" method=POST>
<option value=\"1\">text1
<option value=\"2\">text2
<option value=\"3\">text3
<option value=\"4\">text4
</select>
<input type=submit value=\'inputvalue\'>
';
if($_POST[selname]=''){echo'君は何も選んでない';}
else{$i=$_POST[selname];
echo'君は'.$i.'番目を選んだ';}
?>

があったとして、
上のPHPコードでは、$_POST[selname] が各オプションのvalue1~4の値を取得するときは、ブラウザからオプションボタンから選んだときに選ばれたオプションのvalueの値を取得するのでしょうか?
つまり、次のようなことになるのでしょうか.
1.新しくページを開いたときは$_POST[selname]=''
 なので、ブラウザではフォームしか表示されない
2.オプションボタンでtext3を選んで<input>ボタンを
 クリックしたら、フォームの下に
   君は3番目を選んだ
 と表示されるのでしょうか?
このメカニズムを教えて下さい.
  

A 回答 (1件)

PHPというよりHTMLの問題かな。

selectタグとは何ぞや?というのが質問の主旨でしょうか。

selectタグはinputタグやtextareaと同様、formを構成するタグのうちの一つです。

selectタグとは、optionタグを用いた選択枝を表示し、submitされた時に選択されているoptionタグのvalueを次のページに送ります。ですから質問にある動作でいいんじゃないでしょうか。

ちなみに$_POST["selname"]という風にキーを""で囲んで下さいね。
    • good
    • 0
この回答へのお礼

いつもありがとうございます.
ぜひ、試してみたいと思います.
>selectタグはinputタグやtextareaと同様、
>formを構成するタグのうちの一つです。
すみません、formタグが抜けてたのですね
form>select>optionという親子を入れたいと思います

>submitされた時に選択されているoptionタグのvalueを
>次のページに送ります
この次のページとは、やはりformタグのaction属性=次のページで指定したページになるのでしょうか?
この機構はあっちの値をこっちの名前に入れて、…というようにして、幾つものタグが連携して機能を成して、一つのタグの機能だけではすまないところが難しいと思いました.まだまだ、研究の余地がありそうです.

お礼日時:2005/07/04 06:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!