alert 함수 발생시 경고창이 안나오고 바로 홈페이지로 넘어갑니다.
본문
안녕하세요?
게시판 글쓰기 혹은 수정이나 관리자 메뉴에서 회원 정보 수정 등 할때...
어떠한 이유로든지 alert 함수가 호출되면, 경고창이 나와야 하는데요...
경고창이 안나오고 바로 홈페이지 첫화면으로 넘어가 버립니다.
경고창이 나와야 어떤 에러내용인지 알 수 있는데요...
alert 함수를 추적해보니, common.lib.php 안에 있고, 거기서 다시 G5_BBS_PATH.'/alert.php' 로 넘어가는데요...
어느 부분이 문제인지 모르겠습니다.
일반 게시판에서도 그렇구요...
관리자 메뉴에서도 그렇습니다.
alert 함수 발생시 경고창이 안나오고 바로 홈페이지 첫 화면으로 바로 넘어가 버립니다.
왜 그럴까요?
원인을 찾아보려 했지만 어렵네요....
답변 4
어딘가에 alert 함수가 따로 추가 정의 되어 있는건 아닐까요?
이런 경우 경고창 없이 바로 이동 될수 있습니다.
<?php
$msg = 'string message';
$url = '/';
?>
<script>
function alert() {}
alert("<?php echo $msg; ?>");
document.location.replace("<?php echo $url; ?>");
</script>
질문 내용만으론 알아내기 힘들 듯 합니다.
아마도 별도로 커스텀하신 소스의 영향을 받아서 그런 듯....
extend 폴더 안이나 head. tail 쪽 커스텀 한 소스 살펴보세요.
include한 소스어딘가에서 전환처리되고 있는 소스가 없는지 확인해 보셔야 할듯 합니다.
이 문제, 자체 해결해 보긴 했습니다.
그런데 이 방법이 맞나 모르겠네요.
한단계한단계 메시지 출력해 보며 확인해보니...
bbs/alert.php 파일의 12번째 라인에
include_once(G5_PATH.'/head.sub.php');
이 있습니다.
이 라인만 지나면 바로 홈페이지 첫화면으로 가버렸습니다.
그래서 이 라인을 주석처리 했더니 제대로 경고창이 나오네요.
그런데 저 라인을 주석처리 해도 되는건지 모르겠습니다.
최신 alert.php 에 보아도 다 있던데요...
아무튼 저 라인 주석처리로 문제는 해결되었는데, 왜 저걸 주석처리해 해야 하나 의문은 남습니다.