2014-01-13 45 views
0

我想在提交表單之前創建一個PHP錯誤。 如果輸入日期比當前日期早 echo您的輸入日期是舊的 。但在我的代碼中的一些問題..請幫助PHP如果日期比當前日期早,然後給出錯誤

PHP

if (strtotime($_POST['expiry_date']) < time()) { 
    $errors[] = 'Your input date is old'; 
} 

HTML

<input type="text" name="expiry_date" > 
+2

'$ _POST ['expiry_date']'的值? –

+0

如果您想在提交帖子前顯示用戶和錯誤,請使用Javascript進行操作。在PHP中使用它意味着它已經發布。 – Rottingham

+0

$ _POST ['expiry_date']的值是12/01/2014 –

回答

1

DateTime()使得這很容易做到(假設DD/MM/YYY爲$_POST['expiry_date']格式。12/01/2014對於日期的格式是模棱兩可的,是12月1日還是1月12日?):

$date = DateTime::createFromFormat('d/m/Y', $_POST['expiry_date']); 
$now = new DateTime(); 
if ($date < $now) { 
    $errors[] = 'Your input date is old'; 
} 

DateTime對象是可比較的,所以您不必將它們轉換爲時間戳或字符串來比較它們。

+0

+1因爲它比'strtotime()'更好,並且設置格式是應該始終完成的! –

+0

對不起2012年1月12日 –