リストボックスの入力チェックについて

このQ&Aのポイント
  • PHP初心者のため、リストボックスの入力チェックについて質問です。
  • フォームには「選択してください」「青森」「秋田」「岩手」という4つの項目があります。
  • もし、県名が選択されていない状態でフォームを送信した場合にエラーメッセージを表示したいと考えています。
回答を見る
  • ベストアンサー

リストボックスの入力チェックについて

リストボックスの入力チェックについて PHP初心者です。といいますか、プログラムそのものが初心者なので、 説明が分かりにくい部分があったら申し訳ございません。 以下のソースのように、フォームに「選択してください」「青森」「秋田」「岩手」 の4つの項目があるリストボックスを作成しました。 もし、県名が選択されず「選択してください」のままフォームを送信した場合、 下記のphpソース部分にあるようなエラーメッセージを表示させたいのですが、 真っ白いページが表示され何も表示されません。 原因をご存知の方、どうかご教示ください。 よろしくお願いいたします。 //---htmlフォーム部分 <form action="form02.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <select name="pref" id="pref"> <option value="misenntaku" selected="selected">選択してください</option> <option value="aomori">青森</option> <option value="akita">秋田</option> <option value="iwate">岩手</option> </select> <p><input type="submit" value="内容を確認する" /><p> </form> //-----phpソース部分 <?php if ($_POST['pref'] == 'misenntaku' ) { print '県名を選択してください' . '<br><br>'; print '<a href="form02.html">戻って入力する</a>'; } ?>

  • PHP
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 いくつか確認させてください。 //-----phpソース部分 <?php if ($_POST['pref'] == 'misenntaku' ) { print '県名を選択してください' . '<br><br>'; print '<a href="form02.html">戻って入力する</a>'; } ?> この部分はform02.phpに記述されていますか? form02.phpにされている場合以下にするとどのように表示されますか? <?php if ($_POST['pref'] == 'misenntaku' ) { print '県名を選択してください' . '<br><br>'; print '<a href="form02.html">戻って入力する</a>'; } else { print_r($_POST); } ?>

super_step
質問者

お礼

LancerVII様、回答ありがとうございます。 質問内容を分かりやすくしようとするあまり、 実際に不具合が起きているコードとは違う内容になって しまいました。申し訳ございません。質問通りのコードですと、 正常に動作することがわかりました。 改めて質問しようと思い、余計なコードを省いていったところ、 正常に動作するようになりました。原因も大体想像がつきました。 親身になって考えてくださったことに対し、心より感謝しております。 初心者故、また質問することがあると思います。 その時もどうかよろしくお願いいたします。 本当にありがとうございました。

関連するQ&A

  • 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
  • 値の受け取り方

    nameタグが下記のようになっている場合、 PHPではどのように取得すれば良いのでしょうか? selectタグは取得できましたが、配列になっている場合の取得方法が分かりません。 ---HTML--- <form action="abc.php" method="post" > <input type="text" name="ord[name]" size="30" VALUE=""> <input type="text" name="ord[company]" size="30" VALUE=""> <select name="pref"> <option value="">-- 都道府県 --</option> <option value="北海道" >北海道</option> <option value="青森県" >青森県</option> <option value="岩手県" >岩手県</option> </select> ・ ・ ---abc.php--- <html> <head><title>output</title></head> <body> <?php $pref = $_POST['pref']; print ("次のデータを受け取りました<br />"); print ("住所:$pref<br />"); ?> </body> </html>

    • ベストアンサー
    • PHP
  • dreamweaver都道府県選択フォーム

    dreamweaverCS6で都道府県を選択するフォーム作りたいですがうまくいきません。 「挿入」メニューから「フォーム」→「フォーム」で入力範囲を作成してその中に「名前」や「メールアドレス」などを「テキストメニュー」で作れますが、「選択(リスト/メニュー)」で都道府県とするとコード欄には次のコードが生成されています。 <label for="pref">都道府県</label> <select name="pref" id="pref"> </select> 上記に都道府県名を記述していくのでしょが、記述しても先頭のフィルドには「北海道」だけしか表示されていず他の県名は表示されていません。よって、選択することができません。 <option value="1">北海道</option> <option value="2">青森県</option> <option value="3">岩手県</option> <option value="4">宮城県</option> <option value="5">秋田県</option> <option value="6">山形県</option> <option value="7">福島県</option>          ・          ・          ・ <option value="47">沖縄県</option> また、47都道府県を入力するのは大変なので、上記をコピーではなく別のメモ帳に下記のように準備してあるのを正規表現というのがあるそうですが一括で変化する方法も併せて教えて戴けると幸いです。 1 北海道 2 青森県 3 岩手県 4 宮城県 5 秋田県 6 山形県 7 福島県    ・    ・    ・ 47 沖縄県

  • リストボックスを連動させて・・・その2

    直前の質問で下記の回答をいただいたものです。 質問では2つのリストボックスを連動させたサンプルの回答をいただきましたが、ひょっとして、リストボックスの個数が何個でも対応させることはできないでしょうか。つまり、リストボックスのnameなどをscript部分に記さずに・・。 ここまでサンプルをもらっても改造できないので質問。 (^^; ■JavaScript <SCRIPT language=JavaScript> <!-- strBase = "test.cgi?hinmei=denwa "; strS1 = "&s1="; strS2 = "&s2="; function set(){  strS1b = strS1  strS2b = strS2   if (document.form.s1.options[document.form.s1.selectedIndex].value)   strS1b += document.form.s1.options[document.form.s1.selectedIndex].value;  if (document.form.s2.options[document.form.s2.selectedIndex].value)   strS2b += document.form.s2.options[document.form.s2.selectedIndex].value;  strURL = strBase + strS1b + strS2b;  document.form.text.value = strURL; } //--> </SCRIPT> ■フォーム <FORM NAME="form"> <select name="s1" onChange="set()"> <OPTION VALUE="" SELECTED>↓【選択して下さい】</OPTION> <OPTION VALUE="big">big</OPTION> <OPTION VALUE="small">small</OPTION> </SELECT> <select name="s2" onChange="set()"> <OPTION VALUE="" SELECTED>↓【選択して下さい】</OPTION> <OPTION VALUE="red">red</OPTION> <OPTION VALUE="white">white</OPTION> </SELECT> <INPUT TYPE="text" SIZE=50 NAME="text"> </FORM>

  • プルダウン式のフォームについて

    このカテゴリでの質問では無いようでしたら申し訳御座いませんが、 プルダウン式で選択するフォーム <FORM ACTION="./b_search.php" METHOD=POST> <SELECT NAME="brand" SIZE=1> <OPTION SELECTED VALUE="ruehl">RUEHL No.925 <OPTION SELECTED VALUE="beams">beams </SELECT> <BR> <INPUT TYPE=SUBMIT VALUE="検索"><BR> </FORM> で検索ボタンを押さなくても項目選択時に自動にb_search.phpへ情報を送信するようなソースをご教授下さい。 勉強不足でお手数ですが、ご教授頂けないでしょうか? 宜しくお願い致します。

  • セレクトボックスの選択項目を変える

    セレクトボックスの選択項目を変えるには どうすればいいですか? <FORM action=./ method=post> <SELECT name=server> <OPTION value=2 selected>2</OPTION> <OPTION value=3>3</OPTION> <OPTION value=4>4</OPTION> </SELECT> </FORM> こういうフォーム(FORMやOPTIONにnameがない)で [4]を選択したいです このフォームを書き換えないで(スクリプトでの書き換えなら○) どうにか変えることはできないでしょうか? IEのみの対応でいいので、お願いします

  • php を使用しての入力チェック方法

    ドロップダウンリストで選択された値が $menu に入りそれを php を使用して(必須) 入力チェックを行い、NGならば警告メッセージを表示・・・ という事をしたく、preg_match 等を使って色々試行錯誤してるのですが 入力チェックの部分で上手くいきません。 なぜこのような事をしようとするのか・・・? の理由は下記のサイト 【 ホームペーシの改ざんを阻止するには? 】 http://www.starthp.com/kaizan.htm を見たもので・・・ ドロップダウンリストのソースは下記のようになっております。 php でのチェック方法についてどなたがご教示お願い致します。 <?php /* ****************************************************************** 確認時エラー等でフォーム画面に戻った時に入力した情報が消えない設定 ドロップダウンリスト用 ****************************************************************** */ function MenuValue($v,$r) { if(!empty($_POST[$v])) { if($_POST[$v] == $r){ return " selected='selected'"; } } } echo 'お問い合わせ内容のカテゴリ<br>'."\n"; echo '<select name="menu" id="menu">'."\n"; echo '<option value="未選択"'.MenuValue("menu","未選択").'>▼選択して下さい</option><br>'."\n"; echo '<option value="東京"'.MenuValue("menu","東京").'>東京 - Tokyo</option><br>'."\n"; echo '<option value="千葉"'.MenuValue("menu","千葉").'>東京 - Chiba</option><br>'."\n"; echo '<option value="埼玉"'.MenuValue("menu","埼玉").'>埼玉 - Saitama</option><br>'."\n"; echo '<option value="群馬"'.MenuValue("menu","群馬").'>群馬 - Gunma</option><br>'."\n"; echo '<option value="海外"'.MenuValue("menu","海外").'>海外 - Kaigai</option><br>'."\n"; echo '</select>'."\n"; ?>

    • ベストアンサー
    • PHP
  • 国別のタグを作りたい

    <option value="北海道">北海道 <option value="青森">青森 <option value="岩手">岩手 <option value="秋田">秋田 のように、地域別の選択で、AからZまでの国別にしたいのですが、その並びが載っているページはあるのでしょうか 。宜しくお願いします。

  • セレクトメニューのチェックと条件一致による入力チェック

    (1)メールフォームでセレクトメニューの「都道府県」部分で選択して送信する場合にJAVAで入力チェックエラーを表示させるにはどうしたらよいでしょうか?(東京、千葉、埼玉はOK) Javaサンプルソースを配布しているサイトを教えて下さい。 (2)JAVAによる入力チェックで「YES」にチェックされた場合に、テキストエリアを入力必須にするエラー表示方法を紹介しているサイトを知っていたら教えて下さい。 --------------------------------------------------------------- <form>名前:<input size="20" type="text" name="name"><br> 住所:<select size="1" name="adress"> <option value="東京">東京</option> <option value="千葉">千葉</option> <option value="埼玉">埼玉</option> <option value="都道府県" selected>都道府県</option> </select><input size="20" type="text" name="adress2"><br> (都道府県の場合はエラー表示)<br> <hr> 選択:<input type="radio" name="sentaku" value="yes">YES <input type="radio" name="sentaku" value="No">NO<br> <hr> YESの場合コメント記載<br> <textarea rows="2" cols="20" name="coment"> ----------------------------------------------------------------

  • htmlで入力したテキストがうまく表示されない

    お世話になります。 HTML初心者のものです。 卒業論文のアンケートに、webページを使いたいと思っていて、現在勉強しながらプログラミングを開始したところです。 しかし、 ●Q1.あなたの年齢を教えてください - プルダウンメニューで回答してもらう ●Q2.あなたの肌質を教えてください - ラジオボタンで回答してもらう という構造を頭の中で思い描いていたのですが、以下のようにhtmlを打っても、プルダウンメニューとラジオボタンの間の文章が表示されません。 初歩的な質問だとは思うのですが、先へ進めなくて困っているのでご教示頂けると幸いです。 【以下自分が打ったhtml】 <p>Q1.あなたの年齢を教えてください。</p><br> <form> <select name="knenrei"> <option value="1">18</option> <option value="2" selected>19</option> <option value="3" selected>20</option> <option value="4" selected>21</option> <option value="5" selected>22</option> <option value="6" selected>23</option> <option value="7" selected>24</option> <option value="8" selected>選択してください</option> </form><br> <p>Q2.あなたの肌質を教えてください。</p><br> <form> <input type="radio" name="khadashitu" value="binkan">敏感肌 <input type="radio" name="khadashitu" value="kansou">乾燥肌 <input type="radio" name="khadashitu" value="shisei">脂性肌 </form><br> ※補足……年齢のプルダウンメニューにおいて、最後に「選択してください」という項目を置いているのは、少しでも回答漏れを防ぐことと、回答漏れなのかきちんと回答がされたものなのかを区別するためです。

    • ベストアンサー
    • HTML

専門家に質問してみよう