如何在php中使用正确的月日和闰年输入验证输入日期
嗨,我正在创建一个约会表单,其中包括输入日期,我正在使用下拉框输入日期、月份和年份。我设法验证用户从今天开始24小时输入,但如果用户输入了任何月份都不可用的内容,例如2013年6月31日、2013年9月31日,则表单将成功提交,但从帖子中获得的信息,将返回到前一个月,例如用户在2013年6月31日输入时,我得到的结果与其他月份相同,即2013年5月31日。正如你所看到的,这个月是不正确的 我现在拥有的是要验证的代码如何在php中使用正确的月日和闰年输入验证输入日期,php,Php,嗨,我正在创建一个约会表单,其中包括输入日期,我正在使用下拉框输入日期、月份和年份。我设法验证用户从今天开始24小时输入,但如果用户输入了任何月份都不可用的内容,例如2013年6月31日、2013年9月31日,则表单将成功提交,但从帖子中获得的信息,将返回到前一个月,例如用户在2013年6月31日输入时,我得到的结果与其他月份相同,即2013年5月31日。正如你所看到的,这个月是不正确的 我现在拥有的是要验证的代码 $appointment_inputdate = mktime(0,0,0, i
$appointment_inputdate = mktime(0,0,0, intval($appointment_day), intval($appointment_month), intval($appointment_year));
$appointment_today = mktime(0,0,0, date("d"), date("m"), date("Y"));
因为我现在只有这个,但日期不正确,我不知道怎么做
if ($appointment_inputdate <= $appointment_today) {
echo "
<div style=\"background-color: #E00;\">
Submission fail. Your appointment date must be at least 24 hours before. Please go back and change the date.
</div>
<input style=\"padding:10px 20px;margin-top:20px;\" type=button value=\"Back\" onClick=\"history.go(-1)\">
";
exit();
}
if($appointment\u inputdate您可以使用该功能。它检查公历中日期的有效性,并考虑闰年:
bool checkdate ( int $month , int $day , int $year )
例如:
<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>
如果日期不正确,您可以轻松添加一些基本规则来尝试更正它(例如,如果年份不是闰年,则将2月29日替换为3月1日)。正如Wookai所说,请先检查日期
此外,您还错误地获得了mktime输入的顺序
见:
mktime($hour、$minute、$second、$month、$day、$year)
编辑:
要检查日期更新,请添加:
if (!checkdate ((int)$month,(int)$day,(int)$year)) {
echo "
<div style=\"background-color: #E00;\">
Not a valid date;
</div>
<input style=\"padding:10px 20px;margin-top:20px;\" type=button value=\"Back\" onClick=\"history.go(-1)\">
";
exit();
}
if(!checkdate((int)$month,(int)$day,(int)$year)){
回声“
不是有效日期;
";
退出();
}
您可以尝试在提交表单上使用jquery来帮助用户。请看haha,我打算编写一个自定义的checkdate函数,+1如何将其实现到规则中,实际上我对php非常陌生。很有趣。我会更改它,但仍然无法解决问题,我已经四处搜索,仍然找不到任何线索
if (!checkdate ((int)$month,(int)$day,(int)$year)) {
echo "
<div style=\"background-color: #E00;\">
Not a valid date;
</div>
<input style=\"padding:10px 20px;margin-top:20px;\" type=button value=\"Back\" onClick=\"history.go(-1)\">
";
exit();
}