• ベストアンサー

年・月・日の3つのselectメニューを1つのクエリーにしたい

下のような3つに分かれたセレクトメニューを入力したあとに、 <input type="text" name="date" value="2007-1-1">と入力した場合と同じように ひとつのクエリー(&date=2007-1-1)にしたいのですがどう書けばいいのでしょうか… <!--ここから--> 配送日: <SELECT NAME="date_year"> <OPTION value="2007">2007 <OPTION value="2008">2008 <OPTION value="2009">2009 </SELECT>年 <SELECT NAME="date_month"> <OPTION value="1">1  ~省略~ <OPTION value="12">12 </SELECT>月 <SELECT NAME="date_day"> <OPTION value="1">1  ~省略~ <OPTION value="31">31 </SELECT>日 <!--ここまで--> また、selectメニューの初期値を ページを表示した日の翌日にしたいのです。 どうぞよろしくお願いします。

  • Perl
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.3

こんにちは CGIを使ってやるならこんな感じ・・・(test.cgiの中身になります) print "<body>\n"; $year=$in{'nen'}; $month=$in{'gatu'}; $day=$in{'niti'}; print <<"EOM"; <script language=javascript><!-- window.onload=function(){ days = new Array("","31","28","31","30","31","30","31","31","30","31","30","31"); now = new Date(); yea = now.getFullYear(); mon = now.getMonth()+1; day = now.getDate()+1; day0 = days[mon]; if((yea%4) == 0 && (yea%100) != 0 || (yea%400) == 0) {if(mon ==2){ day0=29;}} obj1 = document.today.nen; obj2 = document.today.gatu; obj3 = document.today.niti; if(day > day0){ if(mon==12){ yea=yea+1; } mon=mon+1; day=1; day0 = days[mon]; } year="$year"; for(i=0; i<3; i++) { m = yea+i; obj1.options[i] = new Option(m,m); if(m == yea && year==""){ obj1.options[i].selected =true; } else{ if(obj1.options[i].value==year){ obj1.options[i].selected =true; } } } month="$month"; for(i=0; i<12; i++) { n = i+1; if(n<10){n="0"+n;} obj2.options[i] = new Option(n,n); if(n == mon && month==""){ obj2.options[i].selected =true; } else{ if(obj2.options[i].value==month){ obj2.options[i].selected =true; } } } date="$day"; for(i=0; i<day0; i++) { l = i+1; if(l<10){l="0"+l;} obj3.options[i] = new Option(l,l); if(l == day && date==""){ obj3.options[i].selected =true; } else{ if(obj3.options[i].value==date){ obj3.options[i].selected =true; } } } document.getElementById('date').value=obj1.value + "-" + obj2.value + "-" +obj3.value; } function change(){ obj1 = document.today.nen; obj2 = document.today.gatu; obj3 = document.today.niti; document.getElementById('date').value=obj1.value + "-" + obj2.value + "-" + obj3.value; } function change0(){ obj1 = document.today.nen; obj2 = document.today.gatu; obj3 = document.today.niti; document.getElementById('date').value=obj1.value + "-" + obj2.value + "-" + obj3.value; for(i=0; i<31; i++) { l = i+1; if(l<10){l="0"+l;} obj3.options[i] = new Option(l,l); } } //--> </script> <form name="today" action="test.cgi" method="post"> <select name="nen" onChange="change()"></select>年 <select name="gatu" onChange="change0()"></select>月 <select name="niti" onChange="change()"></select>日 <input type="text" name="date" size="12"> <input type="submit" value="送信"> </form> </body> EOM

kuzumiHK
質問者

お礼

ありがとうございます! 早速試してみたいと思います!

その他の回答 (2)

  • is_may
  • ベストアンサー率65% (58/89)
回答No.2

とりあえず月・日を2桁にそろえるようにしました(下記)。 次の画面で送信内容を初期選択にする場合には、Perlで<select>タグの部分を動的に作成し、ユーザーが選択した項目を<option selected></option>にするようにしてもいいです。 それか次のページに下記のJavaScriptを挿入し、選択した年は変数$nyearに、月は$nmonに、日は$ndayに代入すればJavaScriptが、送信した値を選択します。 前者の方法を使う場合は「Perl部分」間を削除してください。参考までに。 <script language="javascript"><!-- d=document; myDate= new Date(); we= new Array(31,28,31,30,31,30,31,31,30,31,30,31); year=myDate.getYear(); mon=myDate.getMonth()+1; day=myDate.getDate(); year=(year<2000)?(1900+year):(year); if (((year%4)==0 && (year%100)!=0) || (year%400)==0); we[1] = 29; if(mon==12 && day==we[mon-1]){//大晦日 year++; mon=1; day=1; } else if(day==we[mon-1]){//12月を除く、月の最後の日 mon++; day=1; } else {//月の最後の日以外 day++; } function xFirstRun(){ //Perl部分 year=$nyear; mon=$nmon; day=$nday; //Perl部分 for(i=0;i<d.f.date_year.length;i++){ if(d.f.date_year.options[i].value==year){ d.f.date_year.options[i].selected=true; } } for(i=0;i<d.f.date_month.length;i++){ if(d.f.date_month.options[i].value==mon){ d.f.date_month.options[i].selected=true; } } for(i=0;i<d.f.date_day.length;i++){ if(d.f.date_day.options[i].value==day){ d.f.date_day.options[i].selected=true; } } d.f.date.value=year+"-"+x2Place(mon)+"-"+x2Place(day); } function xChange(){ ye=d.f.date_year.options[d.f.date_year.selectedIndex].value; mo=d.f.date_month.options[d.f.date_month.selectedIndex].value; da=d.f.date_day.options[d.f.date_day.selectedIndex].value; d.f.date.value=ye+"-"+x2Place(mo)+"-"+x2Place(da); } function x2Place(nm){ return ((nm<10)?("0"+nm):nm); } onload=xFirstRun; --> </script>

  • is_may
  • ベストアンサー率65% (58/89)
回答No.1

JavaScriptで再現できます。 <script language="javascript"><!-- d=document; myDate= new Date(); we= new Array(31,28,31,30,31,30,31,31,30,31,30,31); year=myDate.getYear(); mon=myDate.getMonth()+1; day=myDate.getDate(); year=(year<2000)?(1900+year):(year); if (((year%4)==0 && (year%100)!=0) || (year%400)==0) we[1] = 29; if(mon==12 && day==we[mon-1]){//大晦日 year++; mon=1; day=1; } else if(day==we[mon-1]){//12月を除く、月の最後の日 mon++; day=1; } else {//月の最後の日以外 day++; } function xFirstRun(){ for(i=0;i<d.f.date_year.length;i++){ if(d.f.date_year.options[i].value==year){ d.f.date_year.options[i].selected=true; } } for(i=0;i<d.f.date_month.length;i++){ if(d.f.date_month.options[i].value==mon){ d.f.date_month.options[i].selected=true; } } for(i=0;i<d.f.date_day.length;i++){ if(d.f.date_day.options[i].value==day){ d.f.date_day.options[i].selected=true; } } d.f.date.value=year+"-"+mon+"-"+day; } function xChange(){ ye=d.f.date_year.options[d.f.date_year.selectedIndex].value; mo=d.f.date_month.options[d.f.date_month.selectedIndex].value; da=d.f.date_day.options[d.f.date_day.selectedIndex].value; d.f.date.value=ye+"-"+mo+"-"+da; } onload=xFirstRun; --> </script> <form name="f"><select name="date_year" onchange="xChange()"> <option value="2006">2006 </option> <option value="2007">2007 </option> <option value="2008">2008 </option> <option value="2009">2009 </option> </select>年 <select name="date_month" onchange="xChange()"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select>月<select name="date_day" onchange="xChange()"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select>日<br> <br> <input type="text" name="date"></form>

kuzumiHK
質問者

お礼

早速のお返事ありがとうございます。 あと月と日付が一桁のとき2007-5-9ではなく 2007-05-09にする方法と、 selectメニューの初期値(翌日の日付)は、 はじめに表示したときだけで、 次に表示したときはクエリーで送信した内容を反映したいのですが、 この辺はクエリーをPerl内で分解しないと難しいでしょうか。 ちょっと自分でも訳がわからなくなってきました… こちらのjavaScriptは大変助かりました。 ありがとうございました。

関連するQ&A

  • 年月日のプルダウンメニューで教えてください。

    php初心者です。 セレクトメニューで悩んでいます。 以下のようなフォームを作っています。 プルダウンメニューで2007年1月1日を選んだ時 結果を20070101にし、SELECTDATEのaaaに持たせたいのですがどうすればいいのかわかりません。 どなたか教えてください。 <form name="etc" action="etc"> <?php echo "<select name=\"YEAR\">"; for ($i = 0; $i < 2; $i++) { echo "<option>".date("Y", strtotime("+$i year")); } echo "</select>年"; echo "<select name=\"MONTH\">"; (中略) echo "<select name=\"DAY\">"; (中略) ?> <input type="hidden" name="SELECTDATE" value="aaa" /> </form>

    • 締切済み
    • PHP
  • PHPで日付の範囲検索

    PHPを使って日付の範囲検索を実装しています。日付をセレクトフォームで選択し、該当する日時をSELECT文で記述するという流れです。イメージは以下のような感じですが、大体合っていますか? <? php if (!empty(filter_input(INPUT_POST, 'day'))) { $day = filter_input(INPUT_POST, 'day'); ・・・・ SELECT 文   ・・・・ ?> <html> <div class="search"> <form method="post"> <select name="year"> <?php for ($i=2000; $i <= 2021; $i++) { $year .= '<option value="'.$i.'">'.$i.'年</option>'; } ?> </select> <select name="month"> <?php for ($i=1; $i <= 12; $i++) { $month .= '<option value="'.$i.'">'.$i.'月</option>'; } ?> </select> <select name="day"> <?php for ($i=1; $i <= 31; $i++) { $day .= '<option value="'.$i.'">'.$i.'日</option>'; } ?> </select> <input type="hidden" name="search" value="<?php echo $_POST['year'].'-'. $_POST['month'].'-'. $_POST['date']; ?>"> <input type="submit" value="検索"> </form> </div> </html>

    • ベストアンサー
    • PHP
  • 日記のスクリプトで日付の移動メニューを作りたい

    日記スクリプトを書いているのですが 何年何月の日記のページに移動するのに セレクトメニューで移動するようにしたいのですが 以下のスクリプトだとどうしても日付が表示されません どこが間違っているのでしょうか print"<select name=>\n"; foreach(0 .. $year) { if($year eq "$w_year[$_]"){print"<option value=\"$w_year[$_]/$month[$_]/1\" selected>$w_year[$_]/$month[$_]\n";} else{print"<option value=\"$w_year[$_]/$month[$_]/1\">$w_year[$_]/$month[$_]\n";} } print"</select>\n";

    • 締切済み
    • CGI
  • checkboxとselectメニューの連動およびalertの出し方

    メールフォームを利用し、簡単なショッピングフォームを作成しているのですが、壁にぶち当たりましたので、恐縮しておりますが、はじめて質問させて頂きます。よろしくお願い致します。 function setTF(cOBJ,fName1,fName2) { document.myFORM[fName1].disabled = !cOBJ.checked; document.myFORM[fName2].disabled = !cOBJ.checked; } function delWarn(obj) { if(obj.checked) { var cf = confirm( '数量も必ずご入力ください' ); if(cf) obj.checked = true; else obj.checked = false; } } ---- <form action="~test.cgi" method="post" name="myFORM"> <INPUT type="checkbox" name="item1" value="商品1" onClick="setTF(this,'item1kazu','service1'),delWarn(this)">商品1 <SELECT name="item1kazu" disabled> <OPTION value="">数量</OPTION> <OPTION value="(1本)">1</OPTION> <OPTION value="(2本)">2</OPTION> <OPTION value="(3本)">3</OPTION> </SELECT>本<br> <INPUT type="checkbox" name="item2" value="商品2" onClick="setTF(this,'item2kazu'),delWarn(this)">商品2 <SELECT name="item2kazu" disabled> <OPTION value="">数量</OPTION> <OPTION value="(1本)">1</OPTION> <OPTION value="(2本)">2</OPTION> <OPTION value="(3本)">3</OPTION> </SELECT>個<br> <INPUT type="checkbox" name="item3" value="商品3" onClick="setTF(this,'item3kazu'),delWarn(this)">商品3 <SELECT name="item3kazu" disabled> <OPTION value="">数量</OPTION> <OPTION value="(1本)">1</OPTION> <OPTION value="(2本)">2</OPTION> <OPTION value="(3本)">3</OPTION> </SELECT>セット<br> <p><INPUT type="checkbox" name="service1" value="サービス1" disabled>サービス1</p> <input type="submit" name="sendBtn" value="内容確認画面へ"> </FORM> 内容は、 商品1、2、3にそれぞれチェックボックスをおき、それを選択したらそれぞれ数量の選択(selectメニュー)がはじめて出来る様になる。さらにサービス1は商品1を選択するとチェック可能になるというものです。ここまでは順調に実現できました。 問題は、商品を選択した時のみ数量の選択を必須にしたい、という所です。 使用予定のcgiでは、入力必須項目に設定すると、商品の選択をしていない数量部分もおのずと必須になり具合が悪いため、 javascriptのalertを利用し上手く制御できやしないかと、ない頭をひねって、現在の状況で止まってしまいました...。 現状、商品1をクリックすると「数量も必ずご入力下さい」というalertがでて、数量選択がアクティブに。ただし、商品2、商品3はalertが出ません。 また、もしこれが実現可能になったとしても商品ごとにalertが表示され、うっとおしいのはさることながら、あくまでも意識づけで入力必須ではないため、もっと良い方法はないか、是非ご教授願いたいと思っております。 理想としては、商品にチェックしたもののみ数量選択を必須とする、 →sbmitを押した際、「数量を選択して下さい」というalertを表示。 が実現できればと願っております。 (チェックboxなしで数量のみでやればカンタンなのでしょうが、今回はこちらの構成でいきたいと思っております...) どなたか是非アドバイス頂ければ幸いです、よろしくお願い致します。

  • selectメニューのselectedの位置をJavaScriptで移動させたい。

    selectメニューで困っています。 下のようなselectメニューをクリアボタンを使って一番上の「------」まで移動させたいのです。 IEやNN4.7はきっちり動くのですが、NN6.2で上手く動きません。 NN6だけは、かたくなに「ゲームで」に戻ろうとします。 「ここ」と書いた所を document.JTform.play_l.options[0].defaultSelected="true"; document.JTform.play_l.options[1].defaultSelected="false"; document.JTform.play_l.options[2].defaultSelected="false"; document.JTform.play_l.options[3].defaultSelected="false"; に増やしてみたのですが、変わらないみたいでした。 なにか他に良い方法はないでしょうか? <html> <Script Langage="JavaScript"> function init_func() { document.JTform.play_l.selectedIndex=0; document.JTform.play_l.options[0].defaultSelected="true";<!--ここ--> document.JTform.play_l.index=0; } </Script> <form name="JTform"> <select name="play_l"> <option value="">--------------------</option> <option value="1">犬と</opne> <option value="2">ラジコンで</opne> <option value="3" selected>ゲームで</opne> </select> <INPUT TYPE="submit" VALUE="さあ、遊ぼう"> <INPUT TYPE="reset" VALUE="クリア" Onclick="init_func()"> </form> </html>

  • 複数のセレクトボックスを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
  • ドコモのSELECTタグ

    ドコモのXHTMLのサイトを作っていますが、 1ページ内のSELECTタグの上限はありますでしょうか? SA700iでは15個しか表示されませんでした。 また、これは端末毎に違ってくるのでしょうか? --------------------------------------------- <form> <select name=test1><option value=1></select> <select name=test2><option value=1></select> <select name=test3><option value=1></select> ・ ・ ・ <select name=testn><option value=1></select> </form> --------------------------------------------- 宜しくお願いします。

    • ベストアンサー
    • HTML
  • 「年」「月」二つのドロップダウンメニューを連動して常に6桁を渡したい

    次のような[年][月]が分かれたドロップダウンメニューがあります。 ここで選ばれた値をPHPに渡し、PHP内で yearとmonthを結合し、 6桁の検索条件として大小評価したいです。 [1999[▼]]年 [01[▼]]月 <select name="year"> <option value="" selected>無指定 <option value="1989">1990(平成元) <option value="1990">1990(平成02) :(略) <option value="2005">2005(平成17) <option value="2006">2006(平成18) </select> 年 <select name="month"> <option value="" selected>無指定 <option value="01">01 <option value="02">02 :(略) <option value="11">11 <option value="12">12 </select>月 これをjavascriptで次のように動作させたいのですが(IE6限定で十分です)。 (1) 年が「無指定」である間、月は常にdisable。年が選ばれている間、月は常にactive。 (2) 年が選ばれた際に、強制的に月を01(規定値)にセット。 (3) 年で無指定が選ばれたら、月も無指定&disableにセット。 ・・・という具合に動作させたいです。 要は、必ず6桁(yyyymm)の値か空白値をPHPに渡せればよいので、 年月の両者がきちんと選択されている場合のみ、検索ボタン(POST)の動作を 抑制できれば、alertなどでもかまわないのですが・・・ 大変あつかましいですが、よろしくお願い致します。

  • チェックボックス、セレクトメニューについて

    現在フォームを作成しております。 入力フォームで各項目を入力してから確認画面、送信となるフォームです。 入力フォームにて各項目を入力し、確認画面が表示され、確認画面にて入力等の間違えや、入力をし忘れた等などがあった場合「戻る」で、入力画面に戻るようにしています。 (必須項目が記入されていなかった場合は自動で入力画面に戻るように設定。) 入力画面にてセレクトメニュー(1990年01月01日に選択したとする。)、チェックボックス(MF,FWにチェックをしたとする。)を選択し、 確認画面が表示されたあと入力画面に戻るとセレクトメニューは選択した値(1990年01月01日)のはずが初期値の値(1980年01月01日)に戻っている。 チェックボックスは選択されていたはずなのにチェックがはずれているという現象が起きています。 入力画面→確認画面→入力画面ページが表示されてもセレクトメニューの値はそのままでなおかつチェックボックスの値もそのまま表示されているようにしたいです。 この現象を直すにはどのように記述したらよろしいでしょうか? 下記は入力フォームと確認画面の記述になります。 /***** 入力画面 *****/ <tr> <td class="title_back1"><label for="mail">生年月日</label></td> <td class="title_back2"> <p class="error"><?php print $_SESSION['err_birthday_ereg']; ?></p> <?php //年の入力 print '<select name="year">' . "\n"; $start = date('Y') -29; $end = date('Y') -16; for ($i = $start; $i <= $end; $i++) { print '<option value="' . sprintf("%04d",$i) . '">' . sprintf("%04d",$i) . '</option>' . "\n"; } print '</select>年' . "\n"; //月の入力 print '<select name="month">' . "\n"; for ($i = 01; $i <= 12; $i++) { print '<option value="' . sprintf("%02d",$i) . '">' . sprintf("%02d",$i) . '</option>' . "\n"; } print '</select>月' . "\n"; //日の入力 print '<select name="day">' . "\n"; for ($i = 01; $i <= 31; $i++) { print '<option value="' . sprintf("%02d",$i) . '">' . sprintf("%02d",$i) . '</option>' . "\n"; } print '</select>日' . "\n"; ?> </td> </tr> <tr> <td class="title_back4"><label for="position">希望ポジション</label></td> <td class="title_back5"> <input type='checkbox' name='position[]' value='GK'>GK <input type='checkbox' name='position[]' value='DF'>DF <input type='checkbox' name='position[]' value='MF'>MF <input type='checkbox' name='position[]' value='FW'>FW <input type='checkbox' name='position[]' value='MG'>MG </td> </tr> /***** 確認画面 ******/ $year = isset($_POST['year']) ? sprintf("%04d",$_POST['year']) : NULL; $month = isset($_POST['month']) ? sprintf("%02d",$_POST['month']) : NULL; $day = isset($_POST['day']) ? sprintf("%02d",$_POST['day']) : NULL; $position = isset($_POST['position']) ? implode(" , " , $_POST["position"]) : NULL; //生年月日をチェック if (checkdate($month, $day, $year) === false) { $_SESSION['err_birthday_ereg'] = '生年月日が正しくありません。'; $error = TRUE; } else { unset($_SESSION['err_birthday_ereg']); } <tr> <td class="title_back1">生年月日</td> <td class="title_back2"><?php print h($year) ;?>年&nbsp;<?php print h($month) ;?>月&nbsp;<?php print h($day) ;?>日</td> </tr> <tr> <td class="title_back4"><label for="career">希望ポジション</label></td> <td class="title_back5"><?php print h($position) ;?></td> </tr> と以上になります。 とても説明がしずらいためわかりにくいとこがあると思いますが、宜しくお願いします。 また、何か足りない記述等が御座いましたら、お申しでください。 他のテキストボックスなどは正常に動作しております。 (入力画面→確認画面→入力画面の動作をおこなってもテキストボックス内に表示されています。) 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP DBデータ登録

    お世話になります。 PHPからDBにレコード登録についてお聞きしたいことがあり、ご質問させていただきました。 初心者のためご教授いただければと思います。 サーバーはさくらインターネット PHPは5.2.12 データベースはMySQL 5.1 <?php ・ ・ ・ $link = mysql_connect($DB_HOST,$DB_USER,$DB_PASS; mysql_select_db($DB_NAME,$link); mysql_set_charset('sjis',$link); $id = addslashes($_POST['id']); $password = addslashes($_POST['password']); $first_name = addslashes($_POST['first_name']); $last_name = addslashes($_POST['last_name']); $year = addslashes($_POST['year']); $month = addslashes($_POST['month']); $day = addslashes($_POST['day']); $query_reg = sprintf("INSERT INTO member (id,password,first_name,last_name,first_kana,last_kana,year,month,day) VALUES('$id','$password','$first_name','$last_name','$first_kana','$last_kana','$year','$month','$day')"); $result_reg = mysql_query($query_reg, $link); ・ ・ ・ ?> <html> <body> <form action="completion.php" method="POST"> <input type="text" name="id"/><br> <input type="text" name="password" /> <input type="text" name="first_name"/> <input type="text" name="last_name"/> <input type="text" name="first_kana" /> <input type="text" name="last_kana" /> <?php //年の入力 print '<select name="year">' . "\n"; $start = date('Y') -29; $end = date('Y') -16; for ($i = $start; $i <= $end; $i++) { $selected = ""; $selected = ($_SESSION["year"] == sprintf("%04d",$i)) ? "selected":""; print '<option value="' . sprintf("%04d",$i) . '" '.$selected.'>' . sprintf("%04d",$i) . '</option>' . "\n"; } print '</select> 年' . "\n"; //月の入力 print '<select name="month">' . "\n"; for ($i = 01; $i <= 12; $i++) { $selected = ""; $selected = ($_SESSION["month"] == sprintf("%02d",$i)) ? "selected":""; print '<option value="' . sprintf("%02d",$i) . '" '.$selected.'>' . sprintf("%02d",$i) . '</option>' . "\n"; } print '</select> 月' . "\n"; //日の入力 print '<select name="day">' . "\n"; for ($i = 01; $i <= 31; $i++) { $selected = ""; $selected = ($_SESSION["day"] == sprintf("%02d",$i)) ? "selected":""; print '<option value="' . sprintf("%02d",$i) . '" '.$selected.'>' . sprintf("%02d",$i) . '</option>' . "\n"; } print '</select> 日' . "\n"; ?> <input type="submit" value="登録"> </form> と記述しています。 ですが、調べたコードを自分の環境に変更しながら記述したのですが、データベースでは真っ白の状態で登録されてしまいます。 (真っ白の状態というよりフォームで入力した内容が表示されない。) phpファイルはShift-JISで記述しています。 どなたかお分かりの方がいらっしゃいましたら、ご教授お願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう