2012-12-07 47 views
1

現在我有一個表單,其中包含一個HTML5日期輸入,第二個隱藏輸入,使用strtotime得到今天星期一(週一,週二等)。問題在於如果有人今天選擇了12/5,那麼它將在12/5和週五的時候輸入數據庫,週三的時候應該是12/5。strtotime使用日期輸入

<input class="form" id="date" type="date" name="date" size="15" placeholder="yyyy-mm-dd" autofocus required /> 

<input type="hidden" name="weekday" value="<?php echo date('l',strtotime('now')); ?>" /> 

當我實現它時,我不認爲使用今天的日期將是一個問題。但用例已經改變,人們輸入新的結果,但使用較舊的日期將會失配。在星期三的星期五和星期五,它會顯示爲12/5。

我不確定如何將兩個輸入連接在一起,因爲表單實際上尚未提交。任何幫助,將不勝感激。

+0

爲什麼你需要通過客戶來回顧今天的工作日? –

+0

@MarcB我不需要。我當時想不出有任何其他的辦法。我其實在這裏問了一個問題,讓人們給我提供關於如何實現日期的想法,以及有人建議實施隱藏領域......所以我做了。那時用例是不同的。 – Envious

回答

1

你爲什麼不在服務器端做這個?

$date = $_POST["date"]; 
$dateString = date('m/d l',strtotime($date)); 

Read more關於PHP日期()

Read more關於PHP的strtotime()

就完全消除隱藏輸入。沒有必要。

+0

嗯...基本上這將擺脫窗體上的隱藏輸入,我只是將第二行添加到我的插入頁面? – Envious

+0

是的,當你有*動態*日期時,你不需要*固定*隱藏輸入來獲得今天的星期幾。 – David

+0

成功!有效。非常感謝你。 – Envious

1

只需使用PHP的DateTime函數並將隱藏的字段一起刪除。在日期時間結構

$date = date_create($_POST['date']); 
$day = $date->format('l'); 

的更多信息:http://us3.php.net/manual/en/datetime.construct.php

我強烈建議進入使用內建在PHP比傳統的日期函數DateTime類的習慣。它們通常更易於使用,並且不受unix時代限制的影響。它們也可以以面向對象的方式或程序使用,具體取決於您的編碼偏好。