회원가입시 생년월일 1970~이전 오류 정보
회원가입시 생년월일 1970~이전 오류본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
Warning: mktime(): Windows does not support negative values for this function in d:\web\xxxxxxx\bbs\calendar.php on line 67
Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in d:\web\xxxxx\bbs\calendar.php on line 68
회원가입시 생년월일 입력할때 1970 이전 선택하면 오류가 뜹니다.
어느 부분을 수정해야 할까요?
calendar.php 에
18줄 // mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
19줄 // 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
윈도우 서버에서 오류가 난다는 말인가요? (보고도 무슨 말인지 모르겠어요)
우선 67,68줄 주석처리하고 사용하고 있는데 해결 방법 좀 알려주십시오
오류 주소 :
Warning: mktime(): Windows does not support negative values for this function in d:\web\xxxxxxx\bbs\calendar.php on line 67
Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in d:\web\xxxxx\bbs\calendar.php on line 68
회원가입시 생년월일 입력할때 1970 이전 선택하면 오류가 뜹니다.
어느 부분을 수정해야 할까요?
calendar.php 에
18줄 // mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
19줄 // 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
윈도우 서버에서 오류가 난다는 말인가요? (보고도 무슨 말인지 모르겠어요)
우선 67,68줄 주석처리하고 사용하고 있는데 해결 방법 좀 알려주십시오
댓글 전체

http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=9697
그누보드 / bbs / calendar.php 에서 아래의 내용을 추가 및 수정합니다.
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
위의 2줄을 아래와 같이 수정합니다.
// 1970년 회원가입 오류 해결을 위한 함수 선언 ( 작성자 : 해결사 님 )
function mk_time($m,$d,$y){
if($y<1970){
$mk_time=mktime(9,0,0,1,1,1970);
$i=1969;
if(checkdate($m,$d,$y)){
do{
for($j=12;$j>=1;$j--){
if($m==$j && $y==$i){
for($k=31;$k>=$d;$k--){
if(checkdate($j,$k,$i)) {
$time++;
} else { //
}
} //for k
break;
} else {
for($z=31;$z>=1;$z--){
if(checkdate($j,$z,$i)) {
$time++;
} else { //
} //if
} //for z
}
} //for j
$i--;
}while($i>=$y);
return $mk_time-(($time)*24*3600);//24*3600=1day
} else {
return $mk_time;
}
} elseif($y>2038){
$mk_time=mktime(9,0,0,1,1,2038);
$i=2039;
if(checkdate($m,$d,$y)){
do{
for($j=12;$j>=1;$j--){
if($m==$j && $y==$i){
for($k=31;$k>=$d;$k--){
if(checkdate($j,$k,$i)) {
$time++;
} else { //
}
} //for k
break;
} else {
for($z=31;$z>=1;$z--){
if(checkdate($j,$z,$i)) {
$time++;
} else { //
} //if
} //for z
}
} //for j
$i++;
}while($i>=$y);
return $mk_time-(($time)*24*3600);//24*3600=1day
} else {
return $mk_time;
}
} else {//if 2038
return mktime(0,0,0,$m,$d,$y);
}
}
// 해당월의 1일
$mktime = mk_time($mm,1,$yyyy);
$dt = '1';
그누보드 / bbs / calendar.php 에서 아래의 내용을 추가 및 수정합니다.
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
위의 2줄을 아래와 같이 수정합니다.
// 1970년 회원가입 오류 해결을 위한 함수 선언 ( 작성자 : 해결사 님 )
function mk_time($m,$d,$y){
if($y<1970){
$mk_time=mktime(9,0,0,1,1,1970);
$i=1969;
if(checkdate($m,$d,$y)){
do{
for($j=12;$j>=1;$j--){
if($m==$j && $y==$i){
for($k=31;$k>=$d;$k--){
if(checkdate($j,$k,$i)) {
$time++;
} else { //
}
} //for k
break;
} else {
for($z=31;$z>=1;$z--){
if(checkdate($j,$z,$i)) {
$time++;
} else { //
} //if
} //for z
}
} //for j
$i--;
}while($i>=$y);
return $mk_time-(($time)*24*3600);//24*3600=1day
} else {
return $mk_time;
}
} elseif($y>2038){
$mk_time=mktime(9,0,0,1,1,2038);
$i=2039;
if(checkdate($m,$d,$y)){
do{
for($j=12;$j>=1;$j--){
if($m==$j && $y==$i){
for($k=31;$k>=$d;$k--){
if(checkdate($j,$k,$i)) {
$time++;
} else { //
}
} //for k
break;
} else {
for($z=31;$z>=1;$z--){
if(checkdate($j,$z,$i)) {
$time++;
} else { //
} //if
} //for z
}
} //for j
$i++;
}while($i>=$y);
return $mk_time-(($time)*24*3600);//24*3600=1day
} else {
return $mk_time;
}
} else {//if 2038
return mktime(0,0,0,$m,$d,$y);
}
}
// 해당월의 1일
$mktime = mk_time($mm,1,$yyyy);
$dt = '1';
답변 올려주셔서 감사합니다.
바로 적용해 보겠습니다.
바로 적용해 보겠습니다.