alert 와 die 사용 질문있습니다

alert 와 die 사용 질문있습니다

QA

alert 와 die 사용 질문있습니다

답변 2

본문

사이트가 회원레벨말고도 각 게시판별로 구분할게 많이 있어서 

파일을 하나 만들고 그 파일을 상단에 위치시켜서 권한처리를 하고 있습니다.

대략 소스는 아래와 같은 형식들이 들어가 있구요

 

if( preg_match("/write_update.php$/", $_SERVER['PHP_SELF']) || preg_match("/write_comment_update.php$/", $_SERVER['PHP_SELF']) ){

    if($cnt == 0) alert('접근이 불가합니다');

}

 

위와같은 조건문이 많이 있구요

대부분 잘 작동하나 간혹 에러나는 부분이 있더라구요

그래서 살펴보니 alert 형태로 뿌리면 에러나도 die 로 해야하더라구요

이러면은 중복파일을 2개를 만들어서 하나는 alert 하나는 die 이렇게 해서 각각 넣어줘야하나요?

파일위치를 바꾼다든지 다른반향으로 한다던지 방법이 있나요?

 

이 질문에 댓글 쓰기 :

답변 2


// 에러 모드를 정의 (예: 'alert' 또는 'die')
define('ERROR_MODE', 'alert'); // 혹은 'die'
// 에러 처리 함수
function handleError($message) {
    if (ERROR_MODE === 'alert') {
        echo "<script>alert('{$message}'); history.back();</script>";
        exit; // 반드시 스크립트 종료
    } else {
        die($message);
    }
}
// 사용 예
if (preg_match("/write_update.php$/", $_SERVER['PHP_SELF']) || preg_match("/write_comment_update.php$/", $_SERVER['PHP_SELF'])) {
    if ($cnt == 0) {
        handleError('접근이 불가합니다');
    }
}

프로젝트의 에러 처리 로직을 중앙집중화하는 측면에서 좋은 접근 방식 같습니다!(Good idea)

실제 운영 환경에 맞게 추가적인 보완만 잘 이루어진다면 안정적으로 작동할 것이라 합니다.

답변 감사합니다.
die 로 해야하는 파일이 많지 않아서
die 해야하는 파일에만 define('ERROR_MODE', ''); 이렇게 정의하고 하면
위에방법대로 해야겠네요 답변 감사합니다. 좋은 방법 터득하고 갑니다

에러나는 부분부터 수정해야 하지 않을까요?

질문이 이해되지 않습니다. 에러나는걸 수정하지 않고 결과처리를 하면 

원치 않는 결과가 나오거나 다음 결과도 에러가 날수 있습니다.

 

그래서 살펴보니 alert 형태로 뿌리면 에러나도 die 로 해야하더라구요

이 부분도 이해가 가질 않구요.

die 처리시 사용자가 이후 어떤 내용에 대해서 오류인지 알수가 없습니다.

그냥 죽어버리기 때문에...

중요 변수나 파라미터 전달이 안되었다면 if 로 분기하여 사용자에게 알려주는게 좋습니다.

제 질문문법이 이상하여 전달이 좀 잘못된것같습니다.
에러난다는것이
die 하면 정상이구요
alert로하면 화면이 조금 깨진다는 거였습니다.

그래서 die해야하는 페이지도 전부 alert 했을떄처럼 동일하게 나오길 원한거였습니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 76
© SIRSOFT
현재 페이지 제일 처음으로