2015-07-21 77 views
0

我有日期驗證小問題。如果它只驗證一天而不是整個日期,它就可以工作。如何使用PHP驗證日期?

如果今天是2015年7月21日,驗證可以在每個月/每年的21日之前啓用日期。它應該只接受從今天開始的日期。

代碼是在這裏:

if (empty ($_POST['data'])) { 
     $data_error = "You need to type a date"; 
     ++$error_counter; 
    } elseif ($_POST['data'] < date("d.m.Y")) { 
     $data_error = "You have chosen incorrect date"; 
     ++$error_counter; 
    } else { 
     $data = $_POST['data']; 
    } 
+1

比較timestrings [INT]而不是字符串.... – donald123

+0

正則表達式是也許需要在這裏。 –

+1

PHP中有一個非常好的對象,專爲日期設計... http://php.net/manual/en/class.datetime.php – CD001

回答

0

您可以比較strtotime()

if (empty ($_POST['data'])) { 
     $data_error = "You need to type a date"; 
     ++$error_counter; 
    } elseif (strtotime($_POST['data']) < strtotime(date("d.m.Y"))) { 
     $data_error = "You have chosen incorrect date"; 
     ++$error_counter; 
    } else { 
     $data = $_POST['data']; 
    } 
+0

看起來像是有效的。 – gugogu

+0

:)乾杯@MichałHandzlik – AnkiiG