• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックス、セレクトメニューについて)

セレクトメニューとチェックボックスの値が初期値に戻る現象を解消する方法

maenet1972の回答

回答No.3

No1です。 <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 これでも決して間違いではないのですが、どうせPHPのファイルに記載するなら、このチェックBOXも自動で流してあげるようにしましょう(あとあと修正も楽になります)。 $chk_arrays=array('GK','DF','MF','FW','MG'); for($i=1,$i<=count($chk_arrays);$i++){ $checked=''; if($_POST['position'][$i]==$chk_arrays[$i]){ $checked=' checked'; } echo "<input type='checkbox' name='position[".$i."]' value='".$chk_arrays[$i]."'".$checked.">".$chk_arrays[$i]; }

h-h13
質問者

補足

ご教授有難う御座います。 $chk_arrays=array('GK','DF','MF','FW','MG'); for($i=1,$i<=count($chk_arrays);$i++){ $checked=''; if($_POST['position'][$i]==$chk_arrays[$i]){ $checked=' checked'; } echo "<input type='checkbox' name='position[".$i."]' value='".$chk_arrays[$i]."'".$checked.">".$chk_arrays[$i]; } にて試してみたのですが、エラーが表示されてします。 Web サイト側でページを表示できません と表示されてします。

関連するQ&A

  • phpプルダウンメニュー 日付チェック方法

    <?php //年の入力 print '<select name="year">' . "\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="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"; ?> と記述して、日付選択のときに 本日より前の日を選んだら、エラー 本日より先の日を選んだら、OK 例→2009年01月01日は×  →2010年01月01日は○ というチェック方法をしたいのですが、どのように記述したらよろしいでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • select ループ

    セレクトBOXの中をループさせて表示したいのですが? 上手く表示されません。 エラーメッセージ ・webサイトがメンテナンス中 ・webサイトにプログラム上の問題が  あると出ます。 下記ソースでおかしいところあれば お教え願えませんでしょうか? <html> <head><title>session.html</title></head> <body> <?php print"<table border="1"><tr>"; print"<td>"; print"<select name=kosu>\n"; for ($i=0; $i<5; $i++){ print"<option value=$i>$i\n"; } print"</select>"; print"</td>"; print"<td><input type=submit value="登録"></td>"; print"</tr>"; print"</table>"; ?> </body> </html>

    • 締切済み
    • 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にてセレクトボックスを作る

    よろしくお願いします。 <tr><td class="td_head">あいう<br /></td> <td class="td_odd"><select name="select /" > <option value="#">選択して下さい <option value="【a01】">【あああ】</option> <option value="【a02】">【いいい】</option> <option value="【a03】">【ううう】</option> <option value="【a04】">【えええ】</option></select></td> </tr> とすると、エディターにて◆ 102行: 要素optionはこの位置には置けません。と出てしまいます。何か文法ミスがありますか? おヒマな時にでもご回答願えればと思います。

  • ラジオボタンとテキストボックスで、ボタン選択時のテキストボックスの入力チェックするにはどうしたらよいでしょうか?

    ラジオボタンとテキストボックスの組合わせで使用し、ラジオボタン選択時のテキストボックスの入力チェックをするにはどうしたらよいのでしょうか? 以下はそのhtmlソースになります。 <table border="0" cellspacing="2" cellpadding="0"> <tr> <td><input type="radio" name="addsearch" value="検索エンジン" id="p1"></td> <td colspan="2"><label for="p1"><span class="stress2">検索エンジン</span></label></td> </tr> <tr> <td></td> <td>検索エンジン名</td> <td><INPUT TYPE=text NAME="addsearch1" VALUE="" SIZE=40></td> </tr> <tr> <td><input type="radio" name="addsearch" value="ご紹介で" id="p2"></td> <td colspan="2"><label for="p2"><span class="stress2">ご紹介で</span></label></td> </tr> <tr> <td></td> <td>ご紹介者のお名前をおしえてください。</td> <td><INPUT TYPE=text NAME="addsearch2" VALUE="" SIZE=40></td> </tr> <tr> <td><input type="radio" name="addsearch" value="広告を見て" id="p3"></td> <td colspan="2"><label for="p3"><span class="stress2">広告を見て</span></label></td> </tr> <tr> <td></td> <td>どこの広告ですか?</td> <td><INPUT TYPE=text NAME="addsearch3" VALUE="" SIZE=40></td> </tr> <tr> <td><input type="radio" name="addsearch" value="その他" id="p4"></td> <td colspan="2"><label for="p4"><span class="stress2">その他</span></label></td> </tr> <tr> <td></td> <td>具体的にお願いします。</td> <td><INPUT TYPE=text NAME="addsearch4" VALUE="" SIZE=40></td> </tr> </table> よろしくおねがいいたします。

    • ベストアンサー
    • HTML
  • チェックボックスの使用

    PostgreSQL+PHP初心者です。 DBから登録者一覧を抽出し、CheckBoxでチェックしたものだけ 修正をします。 DBから抽出し、テーブルを作成するところまでは出来ました。 その後CheckBoxのチェック済みだけを修正する場合はどうすればいいですか? ↓現在のソースです。 <html> <head> </head> <body> <FORM NAME="form1" action="insert.php" method="post"> <? $hostname="svibm01"; $con = pg_connect("host=$hostname dbname=testdb user=testuser password=testuser"); if(!$con) { print "データベースに接続できませんでした.\n"; exit; } $sql = "select * from name"; $rtn = pg_exec($con, $sql); if(!$rtn) { print "テーブルの検索に失敗しました.\n"; pg_close($con); exit; } $m = pg_numrows($rtn); $n = pg_numfields($rtn); print "<table border>\n"; print "<tr>\n"; print "<th> </th>"; $i = 0; while($i < $n) { print "<th>".pg_fieldname($rtn, $i)."</th>\n"; $i++; } print "</tr>\n"; $j = 0; while($j < $m) { $i = 0; print "<tr>\n"; print "<td align=center><input type=checkbox name=check".pg_result($rtn, $j, $i)." value=".pg_result($rtn, $j, $i)."></td>"; while($i < $n) { print "<td align=center>".pg_result($rtn, $j, $i)."</td>\n"; $i++; } print "</tr>\n"; $j++; } pg_close($con); print "</table>"; ?> <br> <br> <input type="submit" name="add" value="追加" /> <input type="submit" name="upd" value="変更" /> </FORM> </body> </html>

    • 締切済み
    • PHP
  • php メールフォーム日付チェック方法

    現在メールフォームで生年月日を記述しており、生年月日の値を確認画面に渡し、確認画面にて日付チェックをして、日付が間違っていたらフォーム画面に戻るということをやりたいのですが、日付チェックの部分で困っています。 例→2月20日は○  →2月30日は× form.php <?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"; ?> confirm.php //生年月日をチェック if (checkdate($month, $day, $year)) { $error[] = '生年月日が正しくありません。'; } という記述です。 この記述方法ですと、 2月20日は「生年月日が正しくありません。」とでてきますが、 2月31日を指定すると確認画面を通過できるという謎の状態になっています。 できれば閏年の計算もできる方法もお願いします。 どうかご教授お願いします。

    • ベストアンサー
    • PHP
  • チェックボックス、セレクトボックスを組み合わせた複雑な計算表を作りたい

    下記のような条件を満たす計算表を作りたいのですが、どのように作っていけばいいのか、さっぱり分かりません。 殆ど初心者に近い状態で、このような複雑な計算表を作るのは不可能に近いのは分かっているのですが、是非、ご教授願いたいと思い、質問させて頂きたいです。 <html> <head> <title></title> </head> <body> <form name=all> <table> <tr> <td colspan=2>a</td> <td colspan=7> <input name=AA type=checkbox>AA <input name=BB type=checkbox>BB </td> </tr> <tr> <td colspan=2>b</td> <td colspan=7> <input name=CC type=checkbox>CC <input name=DD type=checkbox>DD </td> </tr> <tr> <td colspan=2>c</td> <td colspan=7><input name=nn type=text></td> </tr> <tr> <td colspan=2>d</td> <td colspan=7> <input name=EE type=checkbox>EE <input name=FF type=checkbox>FF <input name=GG type=checkbox>GG <input name=HH type=checkbox>HH </td> </tr> <tr> <td colspan=2>eA</td> <td colspan=7><input name=PP type=checkbox>PP</td> </tr> <tr> <td rowspan=5>eB</td> <td>e1</td> <td>i1</td> <td colspan=3> <select name=i1> <option>1</option> <option>2</option> </select> </td> <td>I2</td> <td colspan=2> <select name=i2> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>e2</td> <td>J1</td> <td colspan=3> <select name=j1> <option>1</option> <option>2</option> </select> </td> <td>J2</td> <td colspan=2> <select name=j2> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>e3</td> <td>K1</td> <td colspan=3> <select name=k1> <option>1</option> <option>2</option> </select> </td> <td>K2</td> <td colspan=2> <select name=k2> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>e4</td> <td colspan=7> <select name=l1> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>f5</td> <td colspan=7> <select name=m1> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td colspan=2>f</td> <td>f1</td> <td colspan=3><input name=oo type=text></td> <td>f2</td> <td colspan=2><input name=pp type=text></td> </tr> </table> <br> <input name=keisan1 type=submit value=計算1>  <input name=clear1 type=reset value=クリア1> </form> <br> <table><tr> <td colspan=9> a~dの計<input type=text name=qq>-f1<input type=text name=rr>=ABC<input type=text name=ss> </td> </tr> <tr> <td colspan=9> eA+eBの計<input type=text name=tt>-f2<input type=text name=uu>=DEF<input type=text name=vv> </td> </tr> <tr> <td colspan=9>ABC+DEFの計<input type=text name=ww>×dで選択したときの代入数字=<input type=text name=xx></td> </tr> </table> <br> <input name=kei2 type=submit value=計算2> <input name=clear2 type=reset value=クリア2> </center> </body> </html> 条件として、 ・「a~d」は、必ず入力 ・「e~f」は、該当する場合にのみ ・チェックボックスの行は、どれか1つだけを必ず選択(複数選択した場合、注意を促す) ・セレクトボックスの行は、 該当する場合のみ ・最後に「計算」ボタンを押した時に、未入力の部分(a~d)の注意を促す 計算なのですが、 1.「a」のAAを選択、「b」のCCを選択、「c」に20を入力、「d」のEEを入力したときの場合の計算 その時、「d」のEEには10を代入という形で計算したい。(他のFF=20,GG=30,HH=40) ※「a」のBBを選択した場合は、「d」のEE=15,FF=17,GG=22,HH=27となった場合も 2.上記の条件に加え、「eB」の「e1」は1、「e2」も1を選択、「e4」は2を選択した時の計算 その時、「e1」には「100」を代入、「e2」は「150」を代入、「e4」には「80」を代入で計算したい 3.上記「2」の条件に加え、「f1」に150、「f2」に70と入力した場合、「a~d」の計算合計から「f1」を引き、「e」のAとBの計算合計から「f2」を引く 長くて条件等も分かりづらいかもしれませんが、宜しくお願いします。

  • 複数のselectで値で1つも選択されていないとき

    POST-MAIL(http://www.kent-web.com/data/postmail.html)で注文フォームを作成中で、 複数の商品の個数(デフォルトでは0に設定)をselectで選択させようとしています。 例: <tr><td class="center">NO.01</td><td>あんまん</td> <td><select name="あんまん"><option selected value="">0</option> <option value="1">1</option> (~略~) <option value="9">9</option></select></td></tr> <tr> <td class="center">NO.02</td><td>にくまん</td> <td><select name="にくまん"><option selected value="">0</option> <option value="1">1</option> (~略~) <option value="9">9</option></select></td></tr> POSTMAILの機能では、formのinput valueに入力必須項目を記入できますが、 これに加え、すべての商品のselect値が「0」に設定されている場合も cgiのエラー画面でエラーメッセージを出したいのですが、可能でしょうか? お知恵を貸していただけるようお願いいたします。

    • ベストアンサー
    • CGI
  • 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