2010-05-26 90 views
-1

在我的表單中,我使用下拉菜單來顯示日,月,年。你能幫我驗證日期嗎?我必須驗證輸入的年齡是否大於15.同時檢查閏年等。驗證出生日期和檢查年齡

+0

時間來接受一個答案。 – 2010-05-27 10:34:30

回答

6

PHP函數checkdate是您正在查找的內容。

0
checkdate() 

年齡是不是太硬太:

$validdate = (date("Y")-15).date("-m-d"); 
$bday = "$y-$m-$d"; 
if ($bday > $validdate) echo "underage!"; 
+0

感謝大家的寶貴意見。 – 2010-05-26 07:01:23

0

你必須先轉換你的輸入日期YYYY-MM-DD frormate.you不能直接將validatation。你必須把你的日期轉換成時間戳,然後你必須檢查驗證。

$strSystemMaxDate = (date('Y') - 15).'/'.date('m/d'); 
if(strtotime($strDateOfBirth) > strtotime($strSystemMaxDate)) 
{ 
    $arrErrors[] = _("Minimum age is 15 years."); 
    $blnValidated = false; 
} 
+0

爲什麼要用時間戳比較?字符串也可以進行比較 – 2010-05-26 09:42:29

0
<?php 
    $yy = $_POST[ "yy" ]; 
    $mm = $_POST[ "mm" ]; 
    $dd = $_POST[ "dd" ]; 
    if (checkdate($mm, $dd, $yy) === false) 
    { 
     die("Invalid date"); 
    } 
    $birthDate = mktime(0, 0, 0, $mm, $dd, $yy); 
    $fifteenYearsAgo = strtotime("-15 years"); 
    if ($birthDate > $fifteenYearsAgo) 
    { 
     die("You're underage!"); 
    } 
?>