기존에 g5_member 테이블에 있는 mb_intercept_date 컬럼의 데이터타입 형태를
varchar(8) -> datetime 으로 변경하였는데요 그런후 mb_intercept_date 시간까지 입력이 되도록 설정을 했습니다. 근데 문제는 아래처럼 //원래소스 주석처리된 비교문으로 하면 잘 되는데
이젠 시간값가지 비교해야 하므로 아래처럼 수정하였더니 로그인도 안되고 alert도 안뜨고 그냥 아예 먹통이 되버립니다.
혹시 제가 비교문을 잘못 작성하였나요? 이거때문에 다른곳이 문제인줄 알고 벌써 2일째 삽질하고 있다가 오늘 우연히 원인을 찾았습니다-_-...
시간은 echo로 찍어봤지만 모두 정확합니다.
* mb_intercept_date 저는 이 컬럼을 차단일이 아닌 설정해둔 날짜를 오늘 날짜와 비교 체크했을때 기간이 만료되었는가를 비교하기 위해 쓰고있습니다.
Copy
$mb_end_date = date('YmdHis', strtotime($mb['mb_intercept_date'])); //설정시간
$mb_now_date = date('YmdHis', strtotime(G5_SERVER_TIME)); //현재 시간
// 원래 소스 if ($mb['mb_intercept_date'] && $mb['mb_intercept_date'] <= date("Ymd", G5_SERVER_TIME)) {
if ($mb_now_date >= $mb_end_date) {
$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']);
alert(_t('회원님의 아이디는 접근이 금지되어 있습니다.').'\\n'._t('처리일').' : '.$date);
}
답변 4개 / 댓글 8개
채택된 답변
+20 포인트
common.php 파일 353줄에도 해당 소스가 있습니다.
이 부분을 수정하지 않으신 것 같네요..
답변에 대한 댓글 3개
아래 구문을 추가해주세요..
if ($mb['mb_intercept_date'] && $mb_now_date >= $mb_end_date) {
답변에 대한 댓글 3개
아뇨 앞서 말씀드린것처럼 저는 이 mb_intercept_date 데이터를 차단일이 아닌 설정해둔 날짜를 오늘 날짜와 비교 체크했을때 기간이 만료되었는가를 비교하기 위해 쓰고있습니다.
한마디로 $mb['mb_intercept_date'] 날짜/시간이 오늘 날짜/시간보다 작으면 저 조건문이 실행이 되어야 합니다.
조건문은 분명 맞는데 왜 자꾸 먹통이되는지 모르겠습니다.
로그인시 login_check.php 말고 또 mb_intercept_date 데이터를 검증하는 부분이 있는건지...
한마디로 $mb['mb_intercept_date'] 날짜/시간이 오늘 날짜/시간보다 작으면 저 조건문이 실행이 되어야 합니다.
조건문은 분명 맞는데 왜 자꾸 먹통이되는지 모르겠습니다.
로그인시 login_check.php 말고 또 mb_intercept_date 데이터를 검증하는 부분이 있는건지...
답변을 작성하려면 로그인이 필요합니다.
우선 지금 다시 ftp에 파일을 호스팅에 올리고 있는데 다시한번 해보겠습니다.