제목 | 질문드립니다. | ||
---|---|---|---|
글쓴이 | 꼬세 | 작성시각 | 2014/09/18 10:26:15 |
|
|||
[컨트롤러] $str_msg=$this->lang->line('common_modify_completed'); //alert 메세지설정 $this->session->set_flashdata('str_msg',$str_msg); redirect('test/abc', 'refresh'); [뷰] if($str_msg=$this->session->flashdata('str_msg')) { echo '<script type="text/javascript">'; echo '$(function() {'; echo '$.alert.open("info","'.$str_msg.'")'; echo '});'; echo '</script>'; } 이런형식으로 jquery alert창으로 알림을 띄우고 있습니다. 알림창을 띄우는것까지는 문제가 없습니다만. 파이어폭스를 제외한 인터넷 익스플로러,크롬등에서 뒤로가기시 알림창이 다시 나오는 문제가 발생하는군요. 이것을 해결해볼려고.. http://blog.outsider.ne.kr/230 에 참고하여 실행해봐도 결과는 똑같습니다. 혹시 위와같은 문제를 해결하기 위한 가장 좋은 방법이 무었일까요? |
|||
다음글 | preg_replace 함수 에서 링크 생성시 주소 질... (1) | ||
이전글 | 폼검증시 에러가 발생하면 다시 리턴될때 기존 페이지에 ... (7) | ||
변종원(웅파)
/
2014/09/18 10:34:52 /
추천
0
|
꼬세
/
2014/09/18 11:10:12 /
추천
0
웅파님 답변감사합니다. 해당 게시물 검색해서 아래글을 참고해서
<?php $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); $this->output->set_header('Pragma:no-cache'); ?> 이런식으로 필요한 해당 페이지 에서만 사용하도록 했습니다. 잘 한건지 모르겠네요~ 혹시 잘못된부분 있는게 있으면 알려주세요~ 아참 그리고 웅파님 책은 아주 잘 보고 있습니다.^^ 감사합니다. ////////////////////////////////////////////////////// 2. 브라우저에서 캐시를 사용하도록 한다면 화면에는 로그인된 것처럼 보이지만 실제 액션에서 (글쓰기, 댓글쓰기, 삭제 등등) 세션이 있는지 검사하고 처리하시면 캐시도 쓰고 액션도 막을 수는 있습니다. 다만 좀 찜찜하기는 합니다. 매뉴얼의 redirect 를 보니 답이 있네요. redirect의 파라미터로 refresh를 사용하거나 redirect전에 set_header()함수로 위의 헤더들을 몇몇 필요한 페이지에서만 사용하면 될것 같습니다. -> 로그인이 되어야 액션을 취할 수 있는 페이지.. redirect에 두번째 파라미터를 안쓰면 디폴트가 location입니다. 이 경우는 뒤고가기시 캐시를 사용합니다. 두번째 파라미터로 refresh를 사용하면 header("Refresh:0;url=".$uri); 이렇게 되어서 로그아웃 상태가 아닌 로그인으로 나옵니다. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
변종원(웅파)
/
2014/09/18 11:20:19 /
추천
0
넵. 캐시를 사용하지 않도록 처리하시면 기본적으로 처리가 됩니다.
책 구입 감사합니다. ^^ |
CI_ORL
/
2014/09/19 18:13:40 /
추천
0
구글에 찾아 보면... 뒤로가기 방지 하는게 있을텐데...
찾아 놓은게 없어서... 링크는 못 걸어 드리겠어요 |
게시판이동합니다.