CI 묻고 답하기

제목 새로고침시 Post 값이 계속 DB에 적용되는데요..
글쓴이 정민스 작성시각 2010/04/07 13:36:45
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 27746   RSS
예를들어

/bbs/input 이라는 주소로 input 함수가 bbs 컨트롤에 있구요..

이전 단계에서 폼값을 입력한뒤 위함수를 호출하고,

내용들을 DB 에 적용한뒤,

/bbs/view 라는 페이지를 View 합니다.

이때, 주소창상의 주소는 아직 /bbs/input 이므로 이상태에서 F5를 눌러서 Refresh 하면

동일한 내용이 DB에 똑같이 들어가게 됩니다..

이걸 막을 방법이 있을까요?
 다음글 한글 메뉴얼 다운로드는 어디서 받을수 있을까요~? (1)
 이전글 실명인증 모듈 붙이는 방법.. (6)

댓글

변종원(웅파) / 2010/04/07 14:53:10 / 추천 0
입력후 컨트롤러에서 자기 자신을 다시 호출할 경우

1. 컨트롤러 최상단에서 null 변수 하나 생성 , post로 넘어온 동일 변수명이 있으면 post 값으로 치환

2. 위의 변수값의 내용이 있다면 post 액션이 일어난 것이므로 db 입력처리

3. 위의 변수값을 null로 셋팅

4. 뷰에서 hidden 속성으로 위의 변수에 값을 할당하여  post로 넘김.


입력후 다른 페이지로 리다이렉팅할 경우는 위의 상황이 발생하지 않겠죠?
db입력후 원래 페이지로 돌아가는 경우에도 리다이렉트 하시면 위의 상황이 필요가 없습니다.

결론 db 입력후 redirect()로 페이지 이동. ^^