php
2012-08-06 107 views 0 likes 
0

我有一個出生日期,當用戶結束二月(02)時,日期應該只能到29日。正如你可以看到我使用$month="1"只是爲了測試它。我應該只使用PHP,沒有JavaScript或其他任何東西。我將如何去做呢?php下拉檢測選擇

<?php 
$month="1"; // <-- currently using this to make it 29,30 or 31 days 

print "<select name='day'>"; 
if ($month==1){ 
    for ($i=0; $i<=28; $i++)  
    { 
     $day = 1 + $i; 
     print "<option value = $day>" . $day ."</option>"; 
    } 
} 
if ($month==2){ 
    for ($i=0; $i<=29; $i++) 
    { 
     $day = 1 + $i; 
     print "<option value = $day>" . $day ."</option>"; 
    } 
} 


print "</select>"; 

print "<select name='month'>"; 
for ($i=0; $i<=11; $i++) 
{ 

    $month = 1 + $i; 
    print "<option value = $month>" .$month ."</option>"; 
} 
print "</select>"; 

?>

+0

'$ month == 1''不是'$ month ==「1」.'否則它是一個字符串。 – Sablefoste 2012-08-06 16:16:59

+0

@Sable PHP評估'$ month == 1'和'$ month ==「1」'是一樣的。 '$ month === 1'和'$ month ===「1」'是不同的。 – Matt 2012-08-06 16:22:51

+0

鬆散的比較實際上是一樣的。這也是'true':'$ month ==「1 foo bar」'。 但是,如果他使用了嚴格的比較('$ month === x'),那將是一個不同的故事。 – 2012-08-06 16:23:45

回答

3

一旦PHP將東西給瀏覽器,它完成。它不能以任何方式影響頁面。

另一方面,JavaScript在瀏覽器獲取頁面時接管。它可以改變頁面,甚至可以要求服務器做一些事情(在這種情況下PHP可能會涉及)。

換句話說,你不能做你沒有JavaScript的要求。

+0

@Sable我知道,但是當你去選擇月02(feb)的時候,下拉的日子應該只限於29日 – bob12345 2012-08-06 16:20:10

+0

Kolink的聲明依然存在。一旦PHP將頁面發送到瀏覽器,它就不能再修改它。這包括在用戶選擇一個月後更改日期選項。 如果你真的不能使用JavaScript,那麼你必須分兩步進行日期選擇:一個月/一年,一天。 – 2012-08-06 16:22:44

+0

@Kolink OP可以做到這一點,但它需要刷新頁面。 – Matt 2012-08-06 16:26:33

0

沒有Javascript,這是不可能的。

相關問題