PHPについて質問です。下記のドロップダウンリストがあります。

<SELECT name="area">
<OPTION value='0'>California</OPTION>
<OPTION value='1'>New York</OPTION>
...
</SELECT>

送信ボタンを押すとPHPのスクリプトに渡されて、
$get= $_POST["area"];
でvalueの0か1を取得することができます。ここでCaliforniaや
New Yorkの値も取得したいと思っていますが、どのように取得すれば
よいでしょうか?POSTで取得できますか?

回答の条件
  • 1人2回まで
  • 登録:2006/11/16 15:39:24
  • 終了:2006/11/23 15:40:04

回答(3件)

id:monkey_punch No.1

小社長回答回数44ベストアンサー獲得回数52006/11/16 15:50:36

ポイント27pt

<SELECT name="area">

<OPTION value='0,California'>California</OPTION>

<OPTION value='1,New York'>New York</OPTION>

...

</SELECT>

とvalue値を書き換えて、PHP側でvalue値をカンマで分割する方法が一番早いのではないでしょうか。

id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/11/16 15:51:21

ポイント27pt

そのままでは出来ません。

簡単なのはvalueをCSV形式などにして

取り出したデータをPHP側で分解すれば

簡単に処理出来ます。

<SELECT name="area">

<OPTION value='0,California'>California</OPTION>

<OPTION value='1,New York'>New York</OPTION>

...

</SELECT>

id:yoshifumi1975 No.3

yoshifumi1975回答回数58ベストアンサー獲得回数102006/11/16 15:54:37

ポイント26pt

POSTで取得できません。

しようと思ったら、もうひとつhiddenのINPUTを追加してあげて、form のonsubmitで、hiddenの中に、選択されている都市名を入れてあげればPOSTで送られていきます。


もしくは、安直に、

<OPTION value='0,California'>California</OPTION>

<OPTION value='1,New York'>New York</OPTION>

みたいにしておいて、

PHP側で、パースしてあげます。

後者のほうが楽だと思います。

  • id:tobeoscontinue
    $_POSTでの受取り値に依存したやりかたは好ましくないと思います。

    配列を使ってhtmlを生成し、受取り値をチェックするやり方はどうでしょう
    >||
    <?php
    function html_select($name, $list)
    {
    $contents = '';
    foreach ($list as $key => $value) {
    $contents .= '<option value="'.$key.'">'.$value."</option>\n";
    }
    return '<select name="'.$name.'">'."\n".$contents."</select>\n";
    }

    $dd_list = array("California","New York");

    if (isset($_POST["area"]) && is_numeric($_POST["area"])) {
    $no = intval($_POST["area"]);
    if (0 <= $no && $no < count($dd_list)) {
    echo "accept(".$dd_list[$no].")";
    } else {
    echo "通常ありえない。よってアタック?";
    }
    }
    else {
    echo "<html><body>".
    '<form action="'.$_SERVER['SCRIPT_NAME'].'" method="post">'."\n".
    html_select("area", $dd_list).
    '<input type=submit value="送信">'."\n".
    "</form></body></html>";
    }
    ?>
    ||<
    $dd_listが選択項目のリストです。
    最初は$_POSTは空なので$dd_listからhtmlを生成します。
    $_POSTを受け取った場合は配列の範囲内なら$dd_list[$no]のようにして名前を所得することが出来ます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません