• ベストアンサー

PHP プルダウンメニュー

現在PHPを勉強しているのですが、どうしても分からない問題がありましたのでご質問をさせて頂きました。 私がしたいのは登録フォームの中で都道府県で例えば、(東京)が選択されたら、確認画面にとんだ際に選択された(東京)と表示されるようにしたのです。 したがコードになります。 //HTML 都道府県: <select name="prefecture"><option value="">▼選択して下さい</option> <option value="北海道">北海道</option> <option value="青森県">青森県</option> <option value="岩手県">岩手県</option> <option value="宮城県">宮城県</option> <option value="秋田県">秋田県</option> <option value="山形県">山形県</option> <option value="福島県">福島県</option> <option value="茨城県">茨城県</option> <option value="栃木県">栃木県</option> <option value="群馬県">群馬県</option> <option value="埼玉県">埼玉県</option> <option value="千葉県">千葉県</option> <option value="東京都">東京都</option> <option value="神奈川県">神奈川県</option> <option value="新潟県">新潟県</option> <option value="富山県">富山県</option> <option value="石川県">石川県</option> <option value="福井県">福井県</option> <option value="山梨県">山梨県</option> <option value="長野県">長野県</option> <option value="岐阜県">岐阜県</option> <option value="静岡県">静岡県</option> <option value="愛知県">愛知県</option> <option value="三重県">三重県</option> <option value="滋賀県">滋賀県</option> <option value="京都府">京都府</option> <option value="大阪府">大阪府</option> <option value="兵庫県">兵庫県</option> <option value="奈良県">奈良県</option> <option value="和歌山県">和歌山県</option> <option value="鳥取県">鳥取県</option> <option value="島根県">島根県</option> <option value="岡山県">岡山県</option> <option value="広島県">広島県</option> <option value="山口県">山口県</option> <option value="徳島県">徳島県</option> <option value="香川県">香川県</option> <option value="愛媛県">愛媛県</option> <option value="高知県">高知県</option> <option value="福岡県">福岡県</option> <option value="佐賀県">佐賀県</option> <option value="長崎県">長崎県</option> <option value="熊本県">熊本県</option> <option value="大分県">大分県</option> <option value="宮崎県">宮崎県</option> <option value="鹿児島県">鹿児島県</option> <option value="沖縄県">沖縄県</option> </select> //PHP if(!isset($_POST["prefecture"])){ $prefecture = "未入力です。再入力をお願いいたします。"; } elseif(empty($_POST["prefecture"])){ $prefecture = "未入力です。再入力をお願いいたします。"; } else { $prefecture = $_POST["prefecture"]; } <tr> <td>都道府県 </td> <td><?php $arr1 = array(); //var_dump($value1); echo $arr1[$prefecture]; $prefecture = $arr1[$prefecture]; ?></td></tr> ただしこれだけでは値が受け取れておりません。 配列の基本なのかもしれませんが、色々調べても分かりませんでした。 どのたかご存知の方お教えお願いできませんでしょうか。 宜しくお願い致します。

noname#130289
noname#130289
  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • uki629
  • ベストアンサー率23% (40/172)
回答No.1

そもそも $arr1 = array(); //var_dump($value1); echo $arr1[$prefecture]; $prefecture = $arr1[$prefecture]; この処理でなにがしたいわけ? ハッキリ言って変。 $arr1 = array(); で空の配列変数作って echo $arr1[$prefecture]; $prefecture = $_POST["prefecture"]; で$prefectureに対してpostされてきたデータを入れているのは わかるけど送られてきている$prefectureの変数を$arr1に対して なにも入ってない変数に連想配列として見てもなにもないのは 当たり前。 <tr> <td>都道府県 </td> <td><?php echo $_POST["prefecture"]; ?></td></tr> だけでいいんじゃないの? それとPOSTで受け取っているけど HTMLの<from>でしっかりとpostで送っているの?

noname#130289
質問者

お礼

ご返信ありがとうございます! 落ち着いて考えてみればおっしゃる通りでした。 大変助かりました ありがとうございました!

その他の回答 (1)

回答No.2

関連するQ&A

  • プルダウンメニュー

    質問があります。 プルダウンメニューでページを選択された項目を 次のページに受け渡したあと、修正するために もう一度フォームに戻ったら選択されていた項目が保持されておらず、 再度選択する必要が出てきてしまいます。 これでは使い勝手があまりよくないと思い、一度選択された項目が破棄されることなくページが切り替わりっても選択されているままの状態に出来ることは可能なのでしょうか。 aaa.php <td>都道府県</td> <td><select name="prefecture"> <option>▼地域をお選び下さい▼</option> <option value="東京都">東京都</option> <option value="埼玉県">埼玉県</option> <option value="千葉県">千葉県</option> <option value="神奈川県">神奈川県</option> </select></td> bbb.php // echo $prefecture; 再度aaa.phpに戻る際に情報を保持したまま 修正。 教えて頂けませんでしょうか。

    • 締切済み
    • PHP
  • php メールフォーム プルダウンメニュー

    プルダウンメニューを使用して、フォーム→確認→送信と順々に値を受け取りたいのですが、form.phpではプルダウンメニューは表示されますが、form.phpで選択したプルダウンメニューがconfirm.phpでは表示されません。 confirm.phpでも表示されてなおかつ送信をしたら受け取れるようにしたいのです。 初心者なので、いろいろと勉強をしながら、本を読んだり、調べたのですが、まったくわからずです。どなたかご教授お願いします。 form.php <form method="post" action="confirm.php"> <table cellpadding="0" cellspacing="0" border="0"><tr><td>項目</td><td>入力欄</td><td>記入例</td></tr> <tr><td><label for="name">名前</label></td><td><input type="text" size="50" name="name" id="name" value="<?php print h(@$_SESSION['name']); ?>" /></td><td>例:goo 太郎</td></tr> <tr><td><label for="mail">生年月日</label></td><td> <select name="year[]"><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option></select>年 <select name="month[]"><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option></select>月 <select name="day[]"><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option></select>日 </td><td>例:1990年01月01日</td></tr> <tr><td colspan="3" style="text-align:center;"><input type="hidden" name="aaa" value="<?php print h($aaa); ?>" /><input type="submit" value="確認" /></td></tr> </table></form> confirm.php session_start(); $_POST = checkInput($_POST); if (isset($_POST['aaa']) && isset($_SESSION['aaa'])) { $aaa = $_POST['aaa']; if (!in_array($aaa, $_SESSION['aaa'])) { die('不正アクセスの疑いがあります。'); } } else { die('不正アクセスの疑いがあります。'); } $name = isset($_POST['name']) ? $_POST['name'] : NULL; $kana = isset($_POST['kana']) ? $_POST['kana'] : NULL; $mail = isset($_POST['mail']) ? $_POST['mail'] : NULL; $comment = isset($_POST['comment']) ? $_POST['comment'] : NULL; $error = array(); ★★★各項目のチェック★★★ $_SESSION['name'] = $name; $_SESSION['kana'] = $kana; $_SESSION['mail'] = $mail; $_SESSION['comment'] = $comment; $_SESSION['error'] = $error; <table class="form" cellpadding="0" cellspacing="0" border="0"> <tr><td>項目</td><td>入力欄</td><td class="title_color" style="border-left:1px solid #ffffff;">記入例</td></tr> <tr><td>名前</td><td class="title_back2"><?php print h($name);?></td><td>例:goo 太郎</td></tr> <tr><td>生年月日</td><td>★★★★★ここにform.phpからのプルダウンメニューを受け取りたい★★★★★</td><td>例:1990年01月01日</td></tr> </table> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td><form action="form.php" method="post"><input type="submit" value="戻る" /></form></td> <td><form action="send.php" method="post"><input type="hidden" name="aaa" value="<?php print h($aaa);?>" /><input type="submit" value="送信" /></form></td> </tr></table>

    • ベストアンサー
    • PHP
  • プルダウンメニューの利用

    htmlのプルダウンメニューを使用した値計算のインタフェースを作成したいと思っています。 プルダウンメニューに設定するメニュー項目に値を設定し、 onChangeを使用して、その値だけをPHPプログラムに渡すようにしたいのですが、 JavaScript部分をどのように書けばいいのか判りません。 どなたかご教授お願いいたします。 <form name="formtest" action="test.php" method="post"> <table> <tr> <th>カテゴリ*</th> <td> <SELECT NAME="iPlanet" onchange=""> <OPTION VALUE="9" selected>初期値 <OPTION VALUE="0">サンプル1 <OPTION VALUE="1">サンプル2 </SELECT> </td></tr> </table> </form> onchangeでValueの値をPHPに送りたいのです。 よろしくお願いします。

  • phpの入力値の渡し方

    ループでテキストボックス、セレクトボックスを作成しそれぞれのコントロールに入力した値を別phpファイルに渡すことを考えています。 ループではなく一個一個テキストボックスを作れば個々のname属性をpostすればいいと思うのですがループの場合、それぞれの入力値をどのように渡せばいいかわかりません。 <test.php> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="style.css" type="text/css" /> <meta name="viewport" content="width=device-width"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>勤怠データ入力</title> </head> <script type="text/javascript"> function myEnter(){ myRet = confirm("入力画面を閉じてよろしいですか?"); } </script> <body> <div id="name"> <table> <tr style="text-align:center; background-color:#DDEBF7;"> </tr> <form name = "Data" action="foo.php" method="POST"> <tr style="text-align:center;"> </tr> </table> </div> <div id="button"> <input type="submit" name ="touroku" value="登録更新" style="margin-right:30px;" /> <input type="submit" value="戻る" onclick="myEnter()" /> </div> <div id="calendar"> <table style="text-align:center;"> <tr style="text-align:center; background-color:#DDEBF7;"> <td style="width:20px;">日</td> <td>開始時間</td> <td>終了時間</td> <td>入力1</td> <td>入力2</td> <td>入力3</td> </tr> <tr><!--1日--> <?php $day = 1; while ($day < 32){ ?> <td><input type="text" readonly value="<?php echo $day ?>" style="width:20px;"</td> <td><select name="start_time" > <option value="0" > 0</option> <option value="1" > 1</option> </select> : <select name="start_minute"> <option value="00" >00</option> <option value="30" >30</option> </select> </td> <td><select name="end_time" > <option value="0" >0</option> <option value="1" >1</option> </select> :<select name="end_minute"> <option value="00" >00</option> <option value="30" >30</option> </select> </td> <td><input type="text" name = "nyuryoku1" value="" style=width:150px></td> <td><input type="text" name = "nyuryoku2" value="" style=width:150px></td> <td><input type="text" name = "nyuryoku3" value="" style=width:150px></td> </td> </tr> <?php $day++; } ?> </form> </body> </html> <foo.php> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <?php $s_hour = ($_POST['start_time']); $s_minutes = ($_POST['start_minute']); $e_hour = ($_POST['end_time']); $e_minutes = ($_POST['end_minute']); $data1 = ($_POST['nyuryoku1']); $data2 = ($_POST['nyuryoku2']); $data3 = ($_POST['nyuryoku3']); $s_time = ($s_hour.$s_minutes); $e_time = ($e_hour.$e_minutes); echo '開始時間'; echo $s_time; echo '終了時間'; echo $e_time; echo '入力1'; echo $data1; echo '入力2'; echo $data2; echo '入力3'; echo $data3; ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>無題ドキュメント</title> </head> <body> テスト実行 </body> </html>

    • ベストアンサー
    • PHP
  • php プルダウンメニュー

    メールフォームにて下記を作成しています。 <form action="confirm.php" method="post"> <select> <option>09:00</option> <option>09:30</option> <option>10:00</option> <option>10:30</option> </select> ~ <select> <option>11:00</option> <option>11:30</option> <option>12:00</option> <option>12:30</option> </select> </form> これを <?php //スタート時間の選択 print '<select name="start_time">' . "\n"; $start = date('Y') -0; $end = date('Y') +1; for ($i = $start; $i <= $end; $i++) { print '<option value="' . sprintf("%04d",$i) . '">' . sprintf("%04d",$i) . '</option>' . "\n"; } print '</select>~' . "\n"; //エンド時間の選択 print '<select name="end_time">' . "\n"; for ($i = 01; $i <= 31; $i++) { print '<option value="' . sprintf("%02d",$i) . '">' . sprintf("%02d",$i) . '</option>' . "\n"; } print '</select>' . "\n"; ?> の形のように記述できないでしょうか? 年月日の記述のためいろいろとおかしなとこがありますが、変更点等がございましたら、ご教授お願いします。

    • ベストアンサー
    • PHP
  • PHP 引数の使い方

    PHPファイルどうしで引数を共有する方法を教えてください。 例えば、 「sample001.php」では、 <form action="sample002.php" method="post"> <input type="text" name="word" size="30"> <input type="submit" value="登録"> のタグによって文字列を入力し登録します。 「sample002.php」では、 $arr_word = $_POST["word"]; により、入力された文字列が“$arr_word”に格納されます。 「sample003.php」でも 入力された文字列を使いたい場合は、どうすればよいですか? “$arr_word” もしくは $_POST["word"] もしくは action="sample003.php"  を活用することでできるのでしょうか? PHPはまだまだ初心者です。教えてください。

    • ベストアンサー
    • PHP
  • 「あまり気にかけたことのない都道府県」「自分とは無縁だと思う都道府県」 島根・福井・佐賀の理由は?

    3000人のインターネットユーザーを対象に、「自分とは無縁だと思う都道府県はどこ?」というアンケートを実施した結果が出たらしいです!  「自分とは無縁で、たぶん一生用事がないと思う都道府県」 「興味のない都道府県」 「どうでもいい都道府県」 「気にかけたこともない都道府県」 確かに、日常生活をするうえで、あまり注目しなかったり、会話に出てこなかったり、特に気にかけない都道府県ってありますよね。 15位 岐阜県 14位 群馬県 13位 石川県 12位 岩手県 11位 宮崎県 10位 山形県 9位 福島県 8位 鳥取県 7位 山口県 6位 大分県 5位 栃木県 4位 徳島県 3位 佐賀県 2位 福井県 1位 島根県 自分とは無縁だと思う都道府県、堂々の1位は島根県という結果に! なぜ「3位 佐賀県」 「2位 福井県」 「1位 島根県」という結果になったと思いますか? みなさんお意見を聞かせて下さい! ちなみに私の「あまり気にかけたことのない都道府県」「自分とは無縁だと思う都道府県」は「5位 栃木県」です☆ みなさんの「あまり気にかけたことのない都道府県」「自分とは無縁だと思う都道府県は? その理由も教えてね☆

  • 地味な都道府県と言えば?

    皆さんからみて地味な印象の都道府県と言えばどこだとおもいますか? ============================== 1、島根県。 2、群馬県。 3、鳥取県。 4、滋賀県。 5、佐賀県。 6、その他。

  • プルダウンメニューで値を渡したいのですが

    すみません。今phpとhtmlであるサイトを作っているのですが プルダウンメニューを選択した後、ボタンを押すことなく選択した途端ページ移動 して、値を持って行きたいのですがjavascriptはまったく知らないためやり方がわかりません。 いろいろググってそれらしいスクリプトを見つけたのですが以下だとまったく動的に反応しません。 (ページも移動しません) 最終的にpost[ffa]に値であるniやameなどを入れたいのですがどこをどういじれば良いでしょうか・・。 <form name="ffa" method="post" action="abc.php"> <script type="text/javascript"> <select name="sel1" onChange="document.forms['ffa'].submit()" > <option value="ni">日本</option> <option value="ame">アメリカ</option> <option value="igi">イギリス</option> <option value="su">スウェーデン</option> </select> </script>

  • googlemapとphp

    PHPで都道府県プルダウンをつくり、プルダウンで選択された情報をgooglemapを表示しているhtmlに渡し、googlemapで表示したいと思っています。 以下はソースです。 main.php <html> <head> <title></title> </head> <body> <form method="get" action="<?=$_SERVER['PHP_SELF']?>"> <select name="pref"> <?=pref_form($_GET['pref'])?> </select> <input type="submit" value="選択"> </form> <?php … … $location ="千葉";←この部分☆☆☆ … if (ereg($location ,$title)) { … } function pref_code($prefno=''){ $pref_array=array( '北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県', '茨城県','栃木県','群馬県','埼玉県','千葉県','東京都','神奈川県', '新潟県','富山県','石川県','福井県','山梨県','長野県','岐阜県', '静岡県','愛知県','三重県','滋賀県','京都府','大阪府','兵庫県', '奈良県','和歌山県','鳥取県','島根県','岡山県','広島県','山口県', '徳島県','香川県','愛媛県','高知県','福岡県','佐賀県','長崎県', '熊本県','大分県','宮崎県','鹿児島県','沖縄県' ); if($prefno==''){ return $pref_array; }else{ return $pref_array[$prefno]; } } //-------------------------------------------------------------------------- // 都道府県表示HTMLコードを生成する //-------------------------------------------------------------------------- function pref_form($pref=''){ $pa=pref_code(); if($pref){ $form="<option value=\"\">都道府県</option>\n"; }else{ $form="<option value=\"\" selected>都道府県</option>\n"; } foreach($pa as $p){ $form.="<option value=\"".$p."\""; if($pref==$p){ $form.=" selected"; } $form.=">".$p."</option>\n"; } return $form; } ?> </body> </html> test.html↓ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> … <script src="http://maps.google.com/maps?file=api&v=2&key=キー" type="text/javascript"></script> … … <script type="text/javascript"> //<![CDATA[ … function createmarker(){ … … } //]]> </script> </body> </html> PHPで選択された内容をhtml側で受け取らせgooglemapで表示する方法はありますでしょうか? またプログラム中盤の$location ="千葉";の部分で 現在は都道府県名を直接入れているのですが、 function pref_code($prefno=''){ から始まる都道府県プルダウンで選択された都道府県を変数に代入 して$location ="変数"; という形にしたいのですが、なにかいい方法はありませんでしょうか? ご教授の方お願いします。

    • ベストアンサー
    • PHP