CI 묻고 답하기

제목 로그아웃시 경고창을 발생시키면 에러가 발생합니다.
글쓴이 kims 작성시각 2010/05/07 08:49:39
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 22598   RSS
CI 포럼 게시판을 보며 공부를 하고 있는데요
포럼게시판에 있는 소스를 제가 사용하면 페이지 에러가 발생하네요..
어떤 소스를 추가 해주지 않아서 그런건지 잘 모르겠습니다.
검색을 해도 해당 에러메시지는 찾을 수 없구요...
알려주세요 ㅜㅜ

    function logout()
    {
        $this->tank_auth->logout();       
        echo '<script>alert("로그아웃 되었습니다.");</script>';       
        redirect('');
    }

echo부분이 106라인입니다. 왜 에러가 나는거죠?

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at D:\Project_was\1) create_project\stview\system\application\controllers\auth.php:106)

Filename: helpers/url_helper.php

Line Number: 541




 다음글 Undefined property 에러에 대해서 (6)
 이전글 session을 view에서 사용하기 위해서 어떤 작업... (2)

댓글

케이든 / 2010/05/07 09:17:52 / 추천 0
redirect함수는 헤더를 날리게 되는데

헤더날리기전에 echo가 먼저 날아가버렸네요

echo문을 지우시거나

redirect 대신 자바에 location.href로 해보세요
배강민 / 2010/05/07 09:21:47 / 추천 0

CI포럼 소스를 많이 안봐서 잘은 모르겠지만....

기본적으로 CI의 redirect 펑션은 php 의 header:location 어찌구(?)를 이용합니다.

header사용시 그 상단에 text던 뭐던 아웃풋이 없어야하는 것으로 압니다..

위의 경우 redirect 위에 echo로 스크립트를 때리고 있어서 그렇습니다. 구조상 echo없이 redirect만 하면 일단 문제는 없을 것입니다.

 CI포럼 소스가 저렇게 되어 있다면... 다른 액션이 가해졌을 것 같은데.. 아닌강.... redirect 펑션을 재정의했다거나?...흠...

어쨋든... 그런것 같습니당

배강민 / 2010/05/07 09:22:08 / 추천 0
헛.. 쓰고나니... 한발 늦었군요...ㅋ
변종원(웅파) / 2010/05/07 10:09:20 / 추천 0
화면에 출력되는 메세지를 보면 거기에 답이 있습니다.

php에서 헤더를 출력할때 그전에 echo가 있으면 무조건 위와 같은 상황이 발생합니다.

ci의 문제가 아닙니다.

kims / 2010/05/07 10:25:29 / 추천 0
모두 감사합니다. 역시 헤더 문제인거 같더라구요 그래서 케이든 님 말씀대로 location.href로 간단히 해결 했습니다.
감사합니다. ^^