[英]PHP select menu starting from current year
我正在使用Bootstrap和PHP。 Formmail可以工作,但是下面代碼中的最后一個選項值(年份)會打印前一個選項值(日期)中的值。 我不確定哪里出了問題。
值郵寄到電子郵件:按月服務:1按天服務:2按年服務:2(年與日相同)
<select id="Serve_by_Month" name="Serve_by_Month" required>
<option value="">Month*</option>
<?for($xx=1;$xx<13;$xx++){?>
<option value="<?=$xx?>"<?if($xx==$exp_mo)echo " selected";?>>
<?=sprintf("%02d",$xx)?>
</option>
<?}?>
</select>
<br class="hidden-lg">
<select id="Serve_by_Day" name="Serve_by_Day" required>
<option value="">Day*</option>
<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>
<select id="Serve_by_Year" name="Serve_by_Year" required>
<option value="">Year*</option>
<?
$year = date("Y");
$yearto = date("Y")+10;
while ($year <= $yearto)
{
echo "<option value='".$year."'>".$year."</option>";
$year++;
}
?>
</select>
自從我做任何PHP以來已經有很長時間了,但是這個問題與date(“ Y”)返回一個字符串而不是一個int有關嗎?
嘗試將$ year分配更改為
$year = intval(date("Y"));
$yearto = $year+10;
試試這個,它應該可以解決您的問題
<?php
if(isset($_POST['submit-form'])){
$selectedMonth = $_POST['Serve_by_Month']; //This will give you the month
$selectedDay = $_POST['Serve_by_Day']; //This will give you the day
$selectedYear = $_POST['Serve_by_Year']; //This will give you the year
echo 'date: '.$selectedMonth.'-'.$selectedDay.'-'.$selectedYear;
echo '<br>';
}
?>
<form method="post">
<select id="Serve_by_Month" name="Serve_by_Month" required>
<option value="">Month*</option>
<?php
for($i=1;$i<13;$i++){
$selected = $i==$exp_mo ? 'selected' : '';
?>
<option value="<?=$i?>" <?=$selected?>>
<?=sprintf("%02d",$i)?>
</option>
<?php } ?>
</select>
<br class="hidden-lg">
<select id="Serve_by_Day" name="Serve_by_Day" required>
<option value="">Day*</option>
<?php
for($i = 1; $i <= 31; $i++){ ?>
<option value="<?=$i?>"><?=$i?></option>
<?php }
?>
</select>
<select id="Serve_by_Year" name="Serve_by_Year" required>
<option value="">Year*</option>
<?php
for($i = date('Y'); $i <= date('Y')+10; $i++){?>
<option value="<?=$i?>"><?=$i?></option>
<?php }
?>
</select>
<input type="submit" name="submit-form"/>
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.