在表单上,用户必须输入出生日期。 PHP应该控制他是否已经完成了18年。
$birth = $_POST['data_nascita'];
$str_birth = strtotime ($birth );
$today = date("m/d/Y");
$str_today = strtotime ($today);
if($today - $str_today < 567648000) {
echo'you can't drive a car in Italy because you are underage';exit();
}
// 18 years * 31536000 second in 1 year = 567648000
如果我把生育场放在1998年9月14日(今天是2016年9月13日,那么18年还没有完全花费),那么控制不起作用;它从1998年9月15日开始运作。
为什么我失去了2天?
答案 0 :(得分:0)
我建议使用DateTime Class因为它内置了所有日期和时间功能和数学。
一个例子:
$birth = new DateTime($_POST['date_of_birth']);
$today = new DateTime('now');
$diff = $birth->diff($today);
if($diff->format('%Y') > 18) {
echo "Can drive";
} else {
echo "Can't Drive";
}