나는 codeigniter를 사용하고 있습니다. 그리고 내 관리 컨트롤러 중 하나에서 관리자가 로그인 한 후에 관리자 수준을 확인하는 스위치를 만들고 싶었습니다. 레벨이 특정 숫자보다 낮 으면 특정 페이지를 볼 수 없습니다. 대신 제한 알림 페이지가로드되고 페이지로드가 중단됩니다.PHP에서 exit() 전에 내용을 표시하는 방법?
function add_user() {
$this->set_admin_level(9);
// stuffs
}
private function set_admin_level($level){
if ($this->session->userdata('admin_level') < $level) {
$this->load->view("admin/restriction");
exit();
}
}
exit() 및 die()를 시도했지만 둘 다 아무 것도 표시하지 않고 전체 페이지를 삭제했습니다. if와 then redirect 메서드를 사용하여이 작업을 수행 할 수 있음을 알고 있지만 이전 방법으로 수행 할 수 있는지 알고 싶습니다.
이 경우 예외가 유용합니다. exit() 대신 set_admin_level()에 예외를 던진 다음 try {} catch() {}를 사용하여 add_user에서 예외를 찾으십시오. 잡히지 않은 예외가 종료됩니다. – Devon
메시지를 죽으면 안에 넣으면 어떨까요? 예를 들어'''die ('이 섹션을 볼 권한이 없음');''이 텍스트를 표시해야합니다. 이 경우 문제는 템플릿 렌더링 전에 exit 또는 die 문이 발생한다는 것입니다. – amenadiel
빈 페이지에 오류 메시지 만 표시하고 싶지 않습니다. 머리글과 바닥 글 서식 파일을 함께로드하려고합니다. – reddy