これが最も効率的なコードではないことはわかっていますが、8 月または 9 月には機能しません。PHP 5.4 と XHTML 1.0 Transitional を使用しています。前回の IE、Firefox、Google ブラウザでテストしました。ブラウザに送信されるコードを確認しましたが、8 月と 9 月で違いはありません。他のすべての月は正常に動作します。ユーザーが最初に画面に遭遇すると、保存されている誕生月がデータベースから抽出され、展開されます。ただし、8 月と 9 月はドロップダウン リストで選択されません (ただし、そのコードのビットごとに 08 または 09 が画面にエコーされます)。ユーザーがドロップダウン リスト (月) をクリックして、8 月または 9 月を選択し、保存ボタンをクリックすると、ドロップダウン リストで 8 月または 9 月が正しく選択されません (ただし、そのコードのビットごとに 08 または 09 が画面に表示されます)。ああ、8 月か 9 月が選択されるはずなのに、1 月が選択されます。早速ありがとうございます!
// Basically, if the savebtn was clicked:
$birthmonth = mysqli_real_escape_string($dbc, trim($_POST['birthmonth']));
$birthday = mysqli_real_escape_string($dbc, trim($_POST['birthday']));
$birthyear = mysqli_real_escape_string($dbc, trim($_POST['birthyear']));
$birthdate = $birthyear. '-' . $birthmonth. '-' . $birthday;
echo '<p>The savebtn was clicked. Birthdate: ' . $birthdate . '</p>';
echo '<p>The savebtn was clicked. Birthmonth: ' . $birthmonth . '</p>';
// Basically, if the savebtn was NOT clicked
$birthdate = $row['birthdate'];
if (!empty($birthdate))
list($birthyear, $birthmonth, $birthday) = explode('-', $birthdate);
echo '<p>The savebtn was NOT clicked. DB birthdate: ' . $birthdate . '</p>';
echo '<p>The savebtn was NOT clicked. DB birthmonth: ' . $birthmonth . '</p>';
<form name="usersform" id="usersform" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label for="birthmonth" class="label2">Month:</label>
<select name="birthmonth" id="birthmonth">
<?php
if (!empty($birthmonth) && ($birthmonth == 01))
echo '<option selected="selected" value="01">January</option>';
else
echo '<option value="01">January</option>';
if (!empty($birthmonth) && ($birthmonth == 02))
echo '<option selected="selected" value="02">February</option>';
else
echo '<option value="02">February</option>';
if (!empty($birthmonth) && ($birthmonth == 03))
echo '<option selected="selected" value="03">March</option>';
else
echo '<option value="03">March</option>';
if (!empty($birthmonth) && ($birthmonth == 04))
echo '<option selected="selected" value="04">April</option>';
else
echo '<option value="04">April</option>';
if (!empty($birthmonth) && ($birthmonth == 05))
echo '<option selected="selected" value="05">May</option>';
else
echo '<option value="05">May</option>';
if (!empty($birthmonth) && ($birthmonth == 06))
echo '<option selected="selected" value="06">June</option>';
else
echo '<option value="06">June</option>';
if (!empty($birthmonth) && ($birthmonth == 07))
echo '<option selected="selected" value="07">July</option>';
else
echo '<option value="07">July</option>';
if (!empty($birthmonth) && ($birthmonth == 08))
echo '<option selected="selected" value="08">August</option>';
else
echo '<option value="08">August</option>';
if (!empty($birthmonth) && ($birthmonth == 09))
echo '<option selected="selected" value="09">September</option>';
else
echo '<option value="09">September</option>';
if (!empty($birthmonth) && ($birthmonth == 10))
echo '<option selected="selected" value="10">October</option>';
else
echo '<option value="10">October</option>';
if (!empty($birthmonth) && ($birthmonth == 11))
echo '<option selected="selected" value="11">November</option>';
else
echo '<option value="11">November</option>';
if (!empty($birthmonth) && ($birthmonth == 12))
echo '<option selected="selected" value="12">December</option>';
else
echo '<option value="12">December</option>';
?>
</select><br />
<input type="submit" class="submitbtn" name="savebtn" id="savebtn" value="Save" />