1
날짜 유효성 검사기 코드 세그먼트가 있습니다.이 코드 유효성 검사 코드는 미래 날짜를 확인합니다. 디버깅 목적으로 Tomorrow 또는 약 3 시간 후에 만료되기를 원합니다. 이 글을 쓰는 시점에서 내일은 12 월 18 일입니다. 10:40 PM GMT-5 12 월 17 일 그것은 과거라고합니다. 날짜에는 3 개의 변수 (일, 월, 연도)가 입력되고 "01:01:59"가 덧붙여진 후 테이블에 타임 스탬프로 삽입됩니다.이 테이블은 스크립트에 의해 사전 검사되어 항목이 만료되었는지 확인합니다. 아래의 코드는 2 일 이내에 날짜를 확인하지 않습니다. 나는 이유를 알 수 없다.PHP : 미래의 날짜 검사기에 어떤 문제가 있습니까?
코드 :
나를 위해 바로이 작업을 수행 일부 기능이 없습니다if(check_post('day')&&check_post('month')&&check_post('year'))
{
//die("day: ".$_POST['day']." month: ".$_POST['month']." year: ".$_POST['year']);
if(!check_post('day',"Select Day")&&!check_post('month',"Select Month")&&!check_post('year',"Select Year"))
{
$days = array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
$today = explode("-",date("d-m-Y"));
if(checkdate($_POST['month'],$_POST['day'],$_POST['year']))
{
$c_y = ($_POST['year']==$today[2]);
$c_m = ($_POST['month']==$today[1]);
$p_d = ($today[0]>$_POST['day']);
$p_m = ($today[1]>$_POST['month']);
if(!($c_y&&(($c_m&&$p_d)||$p_m)))
{
$_POST['date']=strval($_POST['year'])."-".(($_POST['month']>9)?strval($_POST['month']):"0".strval($_POST['month']))."-".(($_POST['day']>9)?strval($_POST['day']):"0".strval($_POST['day']));
$_POST['date'] .= " 01:01:59";
//$_POST['date'] = mktime(0,0,0,$_POST['month'],$_POST['day'],$_POST['year']);
//die($_POST['date']);
}
else
{
add_error("Date must be current");
}
}
else
{
add_error("Invalid expiration date");
}
}
else
{
add_error("Pick an expiration date");
}
}
else
{
add_error("Date not set");
}
?
$today = date("Y-m-d");
$date = $_POST['year'] . '-' .
str_pad($_POST['month'], '0', 2, STR_PAD_LEFT} . '-' .
str_pad($_POST['day'], '0', 2, STR_PAD_LEFT);
if ($date > $today) {
// future date
} else {
// something else
}
또는 :
http://php.net/DateTime http://php.net/DateInterval - PHP4와 관련된 한,이 질문은 너무 현지화되어 있으므로 닫으려고했습니다. – hakre
PHP4에서도 ['strtotime'] (http://php.net/strtotime)은 일이었습니다. 또한 php4에서 PHP4에 대한 강의 * here *를 삽입하고 사용하지 말아야하는 방법과 웹 호스팅 제공 업체가 선택하도록 허용하는 방법에 대해 여러분이 원하지 않는 회사를 삽입하십시오. – Charles
찰리 고맙습니다, 나는 strtotime에 대해 잊어 버렸습니다. 당신이 대답으로 게시한다면 나는 그것을 받아 들일 수있다. 나는 많이 그리워하는 것 같다. –