验证出生日期和检查年龄
答
checkdate()
年龄是不是太硬太:
$validdate = (date("Y")-15).date("-m-d");
$bday = "$y-$m-$d";
if ($bday > $validdate) echo "underage!";
+0
感谢大家的宝贵意见。 – 2010-05-26 07:01:23
答
你必须先转换你的输入日期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
答
<?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!");
}
?>
时间来接受一个答案。 – 2010-05-27 10:34:30