CI 묻고 답하기

제목 데이터를 넘겨주기에 관해서 질문드립니다.
글쓴이 책상다리 작성시각 2014/06/18 14:21:07
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13216   RSS
안녕하세요. 오랜만에 질문글을 남기게 됐습니다..;;

A페이지에 a,b,c,d...뭐 이런 값들이 있습니다.
이걸 db에 인서트 시키고, B페이지에서 POST로 넘어간 a,b,c,d값을 출력하려고 하는데요.

form으로 POST를 주고, action은 A 자신을 줬을때...
컨트롤러에서 $_POST가 발생했을때 db에 인서트하고, 
B페이지로 넘겨주는걸 생각했는데요.
생각해보니 action을 A 자신으로 줬을때, B페이지에서 $this->input->post 로 출력했을때 아무것도 안뜨는게 당연한거 같습니다;;;;;

너무 간단한거 같애 질문드리기도 부끄럽고 (__) 해서 열심히 궁리한다고 해봤는데, B페이지의 아무것도 안뜨는 하얀화면만 이틀째 보고있으니 허망해서 결국 부끄럼을 무릎쓰고 질문드립니다...(__);;;;
가르침 부탁드립니다 ㅠㅠ 
 다음글 DB 저장시 한글이 깨져서 mb_convert_enco... (1)
 이전글 포럼소스 main.php에서의 notice출력 (3)

댓글

책상다리 / 2014/06/18 14:22:53 / 추천 0
생각해보니 이건 CI외 질문인지도 모르겠습니다...;;;
변종원(웅파) / 2014/06/18 14:47:27 / 추천 0
A -> A -> B

A에서 자기 자신에게 POST 전송하고 db 입력후 B로 POST 전송하시면 되는데 전송을 안하시니 B에서는 
아무 값도 나오지 않죠. 당연한겁니다.
검색해보시면 전송버튼 없이 form 전송하는 것 찾으실 수 있고
POST가 힘들면 A->B 전송은 get방식으로 하셔도 됩니다.

ci에는 flashdata라고 위와 같은 경우에 POST 전송하지 않고 세션으로 잠시 사용할 수 있는 방법이 있습니다. (매뉴얼 참고하세요)
 

flashdata 추가예제:

$this->session->set_flashdata('item', 'value');

set_userdata()에서 처럼 set_flashdata() 에 배열을 넘겨줄수 있습니다..

flashdata 변수 읽기:

$this->session->flashdata('item');

만약 추가적인 서버요청후에도 flashdata 변수를 유지하고싶다면 keep_flashdata() 함수를 사용합니다.

$this->session->keep_flashdata('item');

한대승(불의회상) / 2014/06/18 15:04:13 / 추천 0
자바스크립트를 써서 POST로 전송하는 방법도 있습니다만 웅파님이 추천하신 flashdata를 추천 합니다.
Sample
 
<form name="myForm" id="myForm" target="_myFrame" action="test.php" method="POST">
    <p>
        <input name="test" value="test" />
    </p>
</form>

<script type="text/javascript">
    window.onload=function(){
          document.forms["myForm"].submit();
    }
</script>
책상다리 / 2014/06/18 15:21:16 / 추천 0
두분모두 감사합니다. 다시 차근차근 도전해봐야겠습니다.