php にて申込みフォームを作っています。
■入力画面のコード(一部)
プルダウン形式で生年月日を選択させます
HTML
1<div class="form-inline form-group"> 2 <label for="birthyear" class="col-sm-2 control-label">生年月日</label> 3 <div class="col-sm-2"> 4 <select class="form-control" name="birthyear"> 5 <option value="1980">1980</option> 6 <option value="1981">1981</option> 7 <option value="1982">1982</option> 8 <option value="1983">1983</option> 9 <option value="1984">1984</option> 10 <option value="1985">1985</option> 11 </select> 年 12 </div> 13 <div class="col-sm-2"> 14 <select class="form-control" name="birthmonth"> 15 <option value="">▼選択</option> 16 <option value="1">1</option> 17 <option value="2">2</option> 18 <option value="3">3</option> 19 <option value="4">4</option> 20 <option value="5">5</option> 21 <option value="6">6</option> 22 <option value="7">7</option> 23 <option value="8">8</option> 24 <option value="9">9</option> 25 <option value="10">10</option> 26 <option value="11">11</option> 27 <option value="12">12</option> 28 </select> 月 29 </div> 30 <div class="col-sm-2"> 31 <select class="form-control" name="birthday"> 32 <option value="">▼選択</option> 33 <option value="1">1</option> 34 <option value="2">2</option> 35 <option value="3">3</option> 36 <option value="4">4</option> 37 <option value="5">5</option> 38 <option value="6">6</option> 39 <option value="7">7</option> 40 <option value="8">8</option> 41 <option value="9">9</option> 42 <option value="10">10</option> 43 <option value="11">11</option> 44 <option value="12">12</option> 45 <option value="13">13</option> 46 <option value="14">14</option> 47 <option value="15">15</option> 48 <option value="16">16</option> 49 <option value="17">17</option> 50 <option value="18">18</option> 51 <option value="19">19</option> 52 <option value="20">20</option> 53 <option value="21">21</option> 54 <option value="22">22</option> 55 <option value="23">23</option> 56 <option value="24">24</option> 57 <option value="25">25</option> 58 <option value="26">26</option> 59 <option value="27">27</option> 60 <option value="28">28</option> 61 <option value="29">29</option> 62 <option value="30">30</option> 63 <option value="31">31</option> 64 </select> 日 65 </div> 66</div>
■確認画面
php
1$birthyear = (isset($_POST["birthyear"])) ? $_POST["birthyear"] : null; 2$birthmonth = (isset($_POST["birthmonth"])) ? $_POST["birthmonth"] : null; 3$birthday = (isset($_POST["birthday"])) ? $_POST["birthday"] : null; 4 5// 以下で入力チェック及び日付の存在をチェック 6if ( empty($birthyear) || empty($birthmonth) || empty($birthday) ) { 7 $error["birth"] = "生年月日を選択してください。"; 8} else if ( !checkdate( $birthmonth, $birthday, $birthyear ) ) { 9 $error["birth"] = "生年月日の日付が存在しません。"; 10}
上記エラー内容をHTMLに表示させるため下記を記述すると
php
1 <div class="form-inline form-group"> 2 <label for="birthyear" class="col-sm-2 control-label">生年月日</label> 3 <div class="col-sm-6"> 4 <?php print "<p class=\"text-danger\">".$error["birth"]."</p>"; ?> 5 <?php print $birth; ?> 6 </div> 7 </div>
下記のエラーが出ます。
txt
1Notice: Undefined index: birth in ... on line 90
入力項目は他にもあり、エラーは$errorに連想配列で格納しています。このエラーの対処方法を教えていただけますでしょうか。
このところUndefined indexのエラー対処にばかり時間がかかってしまいます。毎度何かの拍子でエラーは出なくなるのですが、何か根本的に解決できる、解決する方法が理解できるサイトなど教えていただけましたら幸いです。
回答3件
あなたの回答
tips
プレビュー