회원가입시 생년월일 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줄 주석처리하고 사용하고 있는데 해결 방법 좀 알려주십시오
|

댓글 2개

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';
답변 올려주셔서 감사합니다.

바로 적용해 보겠습니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
16년 전 조회 976
16년 전 조회 3,489
16년 전 조회 980
16년 전 조회 980
16년 전 조회 839
16년 전 조회 1,543
16년 전 조회 989
16년 전 조회 843
16년 전 조회 978
16년 전 조회 1,408
16년 전 조회 1,597
16년 전 조회 1,573
16년 전 조회 1,267
16년 전 조회 880
16년 전 조회 1,542
16년 전 조회 921
16년 전 조회 1,009
16년 전 조회 1,560
16년 전 조회 1,786
16년 전 조회 1,551