• 締切済み

phpでのセレクトボックスからの受け渡しについて

nak2052の回答

  • nak2052
  • ベストアンサー率60% (3/5)
回答No.8

配列の宣言はその配列を使うファイル全部に入れます。 この例だとpage3.phpですね。 ところで、分類のプルダウンはpage2.phpで初めて出てくるんじゃないでしたっけ? 仕様変えました?もしそうなら、page2.phpにも配列の宣言が必要です。 画面が真っ白になるときは、どこかでエラーが起きているはずなので、ページの最初に <?php ini_set("display_errors", 1);?> を宣言してください。 そうすると英語ですが、エラーが画面に表示されるはずです。それをみてどこがおかしいか判断してください。

y_okamoto_2918
質問者

お礼

ありがとうございます! 仕様変えました;;

関連するQ&A

  • php セレクトボックス 分岐 わかりません・・・

    php if文? セレクトボックスの選択に応じて、次ページで表示するものも変えたい。 授業評価アンケートのデータ収集システムを開発中です。 page1.php では、 年度(セレクトボックス)[nendo] 学年(セレクトボックス)[gakunen] クラス(セレクトボックス)[class] 科目名(テキストボックス)[kamokumei] 科目コード(テキストボックス)[kamokucode] 分類(テキストボックス)[kind] 履歴者数(テキストボックス)[people] を選択及び入力します。 page2.php では page1.php で選択及び入力された情報をPOST?hidden?などを利用し、 年度:2011 学年:1 クラス:1 科目名:国語 科目コード:11L901 分類:講義科目 履歴者数:40 のように表示させ、その下にアンケートの回答者数を入力する表を示します。 分類のセレクトボックスには4種類の項目があります。 講義科目・体育科目・実験科目・HR です。 分類により、アンケートの設問数が異なるようにしたいのです。 たとえば、 講義科目は設問が1~5。体育科目は1~8。実験科目は1~10。HRは11~15。 だとします。 page1.php 入力された「分類」に応じて、設問数の異なる、 page2.php を表示したいのですが、わかりません。 また、アンケートの表については、 A~F評価があり、 設問1のAならそのマスをname="1A"、設問2のBならname="2B",・・・というようにしています。 page3.php 入力したものを全て表示し、で確認ページとし、 page4.php で、「登録」ボタンを押すと、 年度 学年 ・ ・ ・ 履歴者数 ・ ・ ・ 1A 1B ・ ・ ・ 15F (↑のような構造のtableも用意済み) のデータをmysqlに挿入します。 「分類」による分岐をせず、 page2.phpで、設問数1~5の場合で、データの挿入には成功しました。 6~15については、空となっています。 「分類」により設問数の異なるpage2.phpを表示し、 現在の段階のように、データを挿入できるような形態にできませんでしょうか? どうかお願いしたします!!!!!!!!!! 時間がありません>< お願いします!!!!

    • 締切済み
    • PHP
  • php セレクトボックス 値取得

    現在phpでフォームを作成しています。 都道府県選択のフォームがあり、データベースに都道府県のマスタが管理されています。 都道府県には北海道~沖縄まで順番にIDが振られています。 選択フォームはセレクトボックスになります。 ソースは簡単ですが <option value="<?php echo $prefid; ?>"><?php echo $prefname; ?></option> とループさせて下記の状態になります。 <select name="pref"> <option value="1">北海道</option> <option value="2">青森県</option> <option value="13">東京都</option> <option value="20">愛知県</option> <option value="47">沖縄</option> </select> とあり、選択された(例:北海道を選択)のち確認画面では1と表示されます。 これを北海道と表示させたいのですが、どのように作ったらよろしいでしょうか? sessionは使用しています。 $_SESSION['pref'] = $_REQUEST['pref']; で値受け取っています。 おわかりの方がいらっしゃいましたらご教示お願いします。

    • 締切済み
    • PHP
  • セレクトボックスでの選択した値をDBに挿入する方法

    授業評価アンケートのデータ収集システムを卒研で開発しています。 phpとmysqlを利用して開発したいと思っています。 その一部で、年度や学年やクラスなどをセレクトボックスで選択させたいと思っています。 表示するだけであれば、 年度: <SELECT name="nendo"> <OPTION value="1">2006</OPTION> <OPTION value="2">2007</OPTION> <OPTION value="3">2008</OPTION> <OPTION value="4">2009</OPTION> <OPTION value="5">2010</OPTION> <OPTION value="6" selected>2011</OPTION> <OPTION value="7">2012</OPTION> </SELECT> で出来ますが、 後々データベースに「2006」などの文字列を挿入したいのですが、方法がわかりません。 どなたか詳しく教えてください!

    • 締切済み
    • PHP
  • PHPでフォームからURLへの値の受け渡し

    選択された値をURLとして移動させたいと考えています。 例えば、http://example.com/というページにフォームを設置し、 ドロップダウンメニューから四国を選択すると http://example.com/shikoku/というページが表示されるといった具合です。 他のページを参考しつつ自分で考えてみたのですが、2度送信ボタンを押さなければページが表示されません。 最近になってPHPを触りはじめたので、いまいち何がおかしいのかわからず困っています…。 どなたかご教授お願いします。また、変な部分もあるかと思いますので、よろしければ教えてください。 <?php if($_POST['submit']) {$url = $_POST['tiiki']."/".$_POST['ken'] ;}?> <form action="<?php echo $url ;?>" method="post"> <select name="tiiki"> <?php $tiiki = array("kyusyu"=>"九州","shikoku"=>"四国");?> <?php foreach ( $tiiki as $tiiki1=>$tiiki2 ){?> <option value="<?php echo $tiiki1 ;?>"><?php echo $tiiki2 ;?></option> <?php };?> </select><br /> <select name="ken"> <?php $ken = array("fukuoka"=>"福岡","ehime"=>"愛媛");?> <?php foreach ( $ken as $ken1=>$ken2 ){?> <option value="<?php echo $ken1 ;?>"><?php echo $ken2 ;?></option> <?php };?> </select><br /> <input type="submit" name="submit" value="送信"> </form>

    • ベストアンサー
    • PHP
  • PHP

    PHPで質問があります。funに「無し」を選択すると結果が?になり文字化けします。なぜでしょうか? <select name="fun"> <option vaue="*">無し</option> <option value="1">01</option> <option value="2">02</option> <option value="3">03</option> <option value="4">04</option> <option value="5">05</option> <option value="0">00</option> </select> </p> <input type="submit" value="設定" /> </form> </body> </html> <?php echo $_POST['fun']; echo " "; echo $_POST['jikan']; echo " "; ?>

    • ベストアンサー
    • PHP
  • セレクトボックスの選択を保持したい。入力フォーム。

    セレクトボックスの選択を保持したい。入力フォーム。PHP 送付画像のような、セレクトボックスの「時間指定1」で選択したい時間をセレクトボックスから選んで、確認画面へのボタンをクリックすると、「時間指定1」にまた、戻ってしまいます。ここのセレクトボックスの選択をキープしたいのですが、どうコードを書けば良いのかわかりません 提示したコードにもあるように 参考書に書いてあったのですが、セレクトボックスの選択をキープするプログラミングコードを以下のようにすれば良いと。そのまま書いてみたのですが、確認画面へのボタンをクリックすると、やはり「時間指定1」に戻ってしまいます。 <option value="10:00~11:00"><?php if(isset($timehh1) && $timehh1==="10:00~11:00") { echo "selected" ;} ?>>10:00~11:00</option> どこが間違っているのでしょうか? コードを教えて頂けないでしょうかいただけないでしょうか?よろしくお願いいたします。困っています。 以下書いたコードになります。 <?php session_start(); $errors = array(); if(isset($_POST['submit'])) { $time4 =$_POST['time4']; $timehh1 =$_POST['timehh1']; if($time4 === "") { $errors['time4'] ="第1希望:※月と日付を選択してください。 "; } if($timehh1 === "") { $errors['timehh1'] ="第1希望:※時間指定1を選択してください。 "; } if(count($errors) === 0) { $_SESSION['time4'] = $time4; $_SESSION['timehh1'] = $timehh1; } if(isset($_GET['action']) && $_GET['action'] === 'edit'){ $time4 = $_SESSION['time4']; $timehh1 = $_SESSION['timehh1']; } ?> <!DOCTYPE html> <html> <head> <meta content="text/html; charset=utf-8"/> <?php echo "<ul>";foreach($errors as $value) { echo "<li>"; echo $value; echo "</li>"; } echo "</ul>"; ?> </head> <body> <form action ="form1.php" method ="post"> <td class="b">第1希望:<span class="fontS">※</span></td> <input type="date" id="input_date1" class="cal lt_004 hasDatepicker" name="time4" value="<?php if(isset($time4)){ echo $time4; } ?>"/></td > <select id="input_time1" name="timehh1"> <option value="">時間指定1</option> <option value="10:00~11:00"><?php if(isset($timehh1) && $timehh1==="10:00~11:00") { echo "selected" ;} ?>>10:00~11:00</option> <option value="11:00~12:00"><?php if(isset($timehh1) && $timehh1==="11:00~12:00") { echo "selected" ;} ?>>11:00~12:00</option> </select > <input type ="submit" name ="submit"value="確認画面へ"/> </form> </body></html>

    • ベストアンサー
    • PHP
  • ☆PHP <SELECT>タグについて

    セレクトタグのデフォルト値についてですが、一般の実装の仕方では、以下のようにするかと思いますが、 ・ソース例 -------------------------------------------- select.php -------------------------------------------- <!--同じページでのセッション間でのやりとり で、「送信」を押されると、POSTデータを自分に返し前操作情報をそのまま持続させる。簡単に言えば、ページが切り替わっても各nameプロパティの値を持続させたいのです。--> <html>d <head> </head> <?php session_start(); if(isset($count))$count =0;//カウンタが殻なら 0を代入 session_register("count","onamae");//セッション変数を登録 $count++;//アクセスカウンタ ?> <body> <form> <form method="POST" action="select.php" > <input type="text" name="namae" value="<?php echo $_POST['onama']; ?>"<!--問題なしです--> <select name="food" > <option value="れもん" selected>れもん</option><!-- 注目!! --> <option value="すいか">すいか</option> <option value="オレンジ">オレンジ</option> </select> <input type="submit" value="送信" > </form> </body> </html> -------------------------------------------------------------------------- こんな感じですが、<select>のデフォルト値をページが切り替わっても選択された値(ユーザ操作)が持続されません。 誰か親切な方早急にご教授くださいませ。

    • ベストアンサー
    • PHP
  • phpでのセレクトボックスの値を配列で指定

    セレクトボックスの値をループで繰り返してvalueを設定しているのですがvalueの数が多くなればかなり見づらく 修正もしにくいのでvalue値を配列などで指定したいと思っています。 その場合、どのようにしてvalue値に配列を設定すればよろしいのでしょうか。 また配列でvalueを設定した場合[selected]などで初期値を設定する方法も分からなかったので 何かわかりやすくかつ少ない行数で胥吏できる方法があればご教授お願いします。 <?php for ($data = 1; $data < 5; $data++) { ?> <tr><td> <select name="test<?php echo $data?>"> <option value=1>1 <option value=2>2 <option value=3>3 <option value=4>4 <option value=5>5 <option value=6>6 <option value=7>7 <option value=8>8 <option value=9>9 <option value=10>10 </select> <?php } ?> ※option valueが20とか30とかになるとかなり見づらい処理かなと思います。 配列を変えるだけでいいようにしたいです。

    • 締切済み
    • PHP
  • phpのセレクトボックスの配列について

    お世話になっています。 PHPのセレクトボックスの設定でわからないことがあります。 一度質問させていただいたのですが連なる点でわからないとこが出たので質問させていただきます。 不明点は3つあります。 1.セレクトボックスの値を配列で設定する 配列で設定しておけばその配列を複数使用しても参照配列さえメンテすればいいと思うので配列を想定しています 2.配列で設定したときのセレクトボックスの初期値について セレクトボックスの値をベタ書きしている場合は単にselectedすればいいと思うのですが配列の場合厳密なselectedの方法が不明です 3.配列での選択値をPOSTした場合 3つめが最もはまっています以下のソースだと選択値が配列の値が表示されますし、初期値も表示できていますが POSTした値がまともに渡されていません POST先でDB処理を想定しているのですがdate型だとすべて[00:00:00]になってしまいます。 配列を使用しないパターンだと1.2.3全てうまくいくのですがメンテナンスがしづらいので配列で指定したいです 何か、良い方法があればご教授ください //配列の値 $time = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" ); $minute = array ("00", "15", "30", "45"); for( $a=0; $a < count( $time_array ); $a++){ $selectedStartTime =($time_array[$a] == $start_time[$j])?" selected":""; $startTimeSelectBox .= "\t<option value=\"{$time_array[$a]}\"{$selectedStartTime}>{$time_array[$a]}</option>\n"; } for($a=0; $a < count($minute_array); $a++){ $selectedStartMinute =($start_minute[$j] == $minute_array[$a])?" selected":""; $startMinuteSelectBox .="\<option value=\"{$minute_array[$a]} \"{$selectedStartMinute}>{$minute_array[$a]}</option>\n"; } <td><select name="start_time<?php echo $day ?>" onblur = "func()"> <?php echo $startTimeSelectBox ?> </select> : <select name="start_minute<?php echo $day ?>" onblur = "func()"> <?php echo $startMinuteSelectBox ?> </select> </td> かなり詰まっています。よろしくお願いします。

    • ベストアンサー
    • PHP
  • 複数のセレクトボックスを1つにまとめて受け渡すには

    現在"年"と"月"のセレクトボックスがあり下記のように受け渡されています <form action="./search.php" method="GET">  <select name="year">   <option value="2010">2010年</option>   <option value="2011">2011年</option>  </select>  <select name="month">   <option value="1">1月</option>   <option value="2">2月</option>   <option value="3">3月</option>      ・   <option value="12">12月</option>  </select>  <input type="submit" value="検索"> </form> 受け取り側 http://www.###.jp/search.php?year=2011&month=11 となっています。 これを dateに一まとめにして受け取りたいですが http://www.###.jp/search.php?date=201111(2011-11でも可) 選択するプログラム側の修正方法を教えて欲しいのですが。 宜しくお願い致します。

    • ベストアンサー
    • PHP