CI 묻고 답하기

제목 로그인 폼을 만들고
글쓴이 devman 작성시각 2010/10/14 07:50:07
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 24262   RSS
main페이지에 로그인 폼을 만들고
<?php
     if(!$this->session->userdata('logged_in')) {
?>
이렇게 해서 로그인 전과 후를 보여주는데
문제는 $this->session->set_userdata($data);
redirect('/', 'refresh');
redirect로 다시 main으로 보내면 로그인 후의 모습이 아닌
로그인 전에 폼으로 되어 있고 마우스로 페이지 새로고침을 하면
로그인이 되어 있습니다.
익스플로러에서는 한번에 되는데 파이어폭스나 사파리에서는
되질 않는데 뭐가 문제 일까요?
 다음글 로그인 관련 질문입니다. (1)
 이전글 __construct() 함수 로딩 관련.... (5)

댓글

jois / 2010/10/14 08:47:55 / 추천 0
CI에서 사용하는 세션에서는 기본적으로 no-cache가 아닙니다.

그래서 한번 보여주었던 페이지가 그대로 출력되는 것이며,
해결 방법은 Header전송시 캐쉬되지 않도록 하는 겁니다.

header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Date: ' . gmdate('D, d, M Y H:i:s').' GMT');
header('Expires:Thu, 19 Nov 1981 08:52:00 GMT');
header('Pragma:no-cache');

위 코드를 적당한 곳(index.php에 넣어도 되구요. 아니면.. display되기 직전에 hook을 통해 넣어도 되구요..)에 넣으시면 정상 동작할겁니다.

혹시나! 안되신다면.. http://flashcafe.org/?document_srl=11840 이곳을 참고하세요.
devman / 2010/10/15 00:49:08 / 추천 0
 답변 감사드림니다.
하지만 저는 안되네여 서버가 SnowLeopard인데 다른 설정같은게 있는지
확인해 봐야 겠습니다.

그런데 저만 이런 경우일까요? 다른분들은 이런 경우 없으신가요?
변종원(웅파) / 2010/10/15 08:35:40 / 추천 0

설범서버는 포럼에서 처음 보네요. ^^

redirect에서 뒤의 옵션없이 해보시고 결과 올려주세요.