2011-08-14 9 views
0

假設我將日期/時間添加到mysql數據庫中,並且具有以下(小一次)代碼塊。Html表單 - PHP的 - MySQL的日期字段?

<input type="text" name="date">Leave time null for current<br /> 
<input type="Submit" name="submit" value="submit"> 

以下是捕捉任何

$radate=$_POST['date']; 
if ($radate=="") 
$radate = date('Y-m-d H:i:s'); 
else {} 

我試着輸入「2011-08-14 19點15分25秒」,並已返回的所有0的形式,有人可以幫助我與此?萬分感謝!

回答

1

如果是自由日期輸入字段,那麼使用strtotime()來驗證提交的日期/時間可能會更好。否則,有人可能會錯過輸入日期/時間,並意外地使用當前日期/時間。

$radate_valid = false; 
$radate = $_POST['date']; 
if (!$radate) 
    $radate = date('Y-m-d H:i:s'); 
if (strtotime($radate) === false) 
    $radate_valid = false; 
else 
    $radate_valid = true; 

// Somewhere else 
if ($radate_valid !== true) 
    /* Do something to warn the user. */ 

http://codepad.org/x2eZay0Q

如果使用下拉菜單,時間不是一個因素,你也可以使用checkdate(),雖然從你的榜樣,它看起來像你需要的時間。

但是,你發佈的內容應該可以工作。下面是使用你提供你的約會一個例子:

http://codepad.org/BK1yqyMT

(這裏沒有固定if塊:http://codepad.org/p3CfmOJK

+0

真棒,我甚至不知道這存在! – HunderingThooves

+0

我已經做了7年的PHP了,而且我仍然遇到了我不知道已經存在了很長時間的功能/功能。 –

+0

請注意,我剛剛意識到一些事情......除了提供日期檢查之外,您還需要測試驗證。對於那個很抱歉。看我最後的編輯。 –