您的PHP脚本有两个文本框(一个用于月份,一个用于一年)。当用户按下提交按钮时,它应验证输入以查看日期是否已过期。这是我制作的代码,但似乎没有做任何事情。
$input_date = "$_POST['m']/$_POST['y']";
$todays_date = date("MM/YY");
if ($input_date < $todays_date)
{
print '<p class = "error">Date has elapsed</p>';
}
注意:日期格式为MM / YYYY(文本框'm'包含MM,而tetxbox'y'包含YYYY)
答案 0 :(得分:5)
您可以使用 mktime() 或 strtotime()
$input_time = mktime(0,0,0,$_POST['m']+1,0,$_POST['y']);
if ($input_time < time()){
print '<p class = "error">Date has elapsed</p>';
}
答案 1 :(得分:2)
你可能会像这样使用strtotime函数:
$input_date = "$_POST['m']/$_POST['y']";
$todays_date = date("m/Y");
if (strtotime($input_date) < strtotime($todays_date)){
print '<p class = "error">Date has elapsed</p>';
}
您可以在此阅读strtotime可以处理的格式:http://php.net/manual/en/function.strtotime.php
答案 2 :(得分:2)
我不相信你可以将这些$ _POST变量放在引号中。例如,以下代码将崩溃:
<?php
$foo = array("foo" => "bar");
$input = "$foo['foo']";
print $input;
?>
相反,请尝试
$input_date = $_POST['m'] . "/" . $_POST['y'];
此外,您可能需要考虑撤消月份和年份。在目前的计划中,01/13在12/12之前出现。