CI 묻고 답하기

제목 controller접근 질문입니다.
글쓴이 느림보 작성시각 2012/01/31 13:59:57
댓글 : 10 추천 : 0 스크랩 : 0 조회수 : 17194   RSS
안녕하세요 느림보입니다...요즘 질문게시판에 질문을 엄청해대네요...

ㅜㅜ 사이트 만드는 중에 이제 제 실력에 한계에 도달해서 그런거 같아요...

function product_step1_in()
 {
  $reg_nb = $this->input->post('reg_nb');
  $reg_hp_yn = $this->input->post('reg_hp_yn');
  $reg_email_yn = $this->input->post('reg_email_yn');
  $reg_tel_yn = $this->input->post('reg_tel_yn');
  $this->load->model('product/product_i');
  $this->product_i->product_step1_in($reg_nb
           , $reg_hp_yn
           , $reg_email_yn
           , $reg_tel_yn); 
  $this->load->helper('url');
  redirect('/product/product/product_step2');
 }
 function product_step2()
 {
  $this->load->view('product/product_step2');
 }
만약 이러한 컨트롤러가 있다면 step1에서 데이터를 db에 저장후 step2로 이동하여야 하는데

step2에서 해당 url로 집적 접근을 막기 위해서는 어떠한 방식을 사용해야 하나요???

물론 쿠키를 쌓지 않고 하는 방식입니다...
 다음글 controller 없을 경우 특정 페이지 호출(리턴) (2)
 이전글 image_lib 사용할때 텍스트를 1줄 이상 표시는.... (5)

댓글

변종원(웅파) / 2012/01/31 14:02:24 / 추천 0
세션 매뉴얼 보시면  아래와 같은게 있습니다. 스텝으로 넘겨야 하는 데이터를
세션으로 만들고 keep_flashdata로 유지시키고 다음으로 넘기는 겁니다. ^^

각 스텝별로  keep_flashdata('변수')를 호출하면 그 세션데이터는 계속 살아있습니다.

1단계에서 만든 세션데이터를 2단계에서 체크해서 값이 없다면 1단계를 거치지 않고 온 것이므로
1단계로 리다이렉트 시키면 됩니다.

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

$this->session->keep_flashdata('item'); 
변종원(웅파) / 2012/01/31 14:05:41 / 추천 0
 위 함수로 회원가입 스텝 4까지 작업한게 있는데 소스 찾기가 힘드네요. ^^;
느림보 / 2012/01/31 14:11:05 / 추천 0
ㅜㅜ 우오 이런방식이 있었군요 현재 회원가입 스텝은 제가 계속 값을 넘기거나 쿠키값을 쌓거나 해서

쿠키가 있으면 넘기고 쿠키가 없으면 메인으로 리다이렉트 시키거나 그랬거든요...

ㅜㅜ 세션을 설정해서 데이터 값을 계속 가지고 있다면 그것도 부하가 많이 걸릴거 같아서 세션이 아예

없는 홈페이지를 만들려고 했었거든요

세션>>쿠키 둘중에 어떤걸 효율적으로 사용해야 할지가 고민입니다

(고민이 무척많아요 요즘 잠도 제대로 못잠)
변종원(웅파) / 2012/01/31 14:23:12 / 추천 0
느림보/ 데이터 값들은 post로 계속 넘기시면 되고 전 단계를 거치지 않고 다이렉트로
2단계를 들어올때의 체크에 저 함수 사용하시면 됩니다. ^^
한대승(불의회상) / 2012/01/31 14:30:11 / 추천 0
느림보// CI에서는 세션, 쿠키 모두 쿠키로 처리 합니다.

부하는 CI 프레임워크에 맡기고 자유로이 사고하고 프로그램 하세요 ^^
느림보 / 2012/01/31 14:40:55 / 추천 0
ㅎㅎ 이번에 CI세션처리에 대해서 공부하게 되었네요 ㅎㅎ

ㅜㅜ 감사합니다 나중에 또 다른 문제가 생긴다면 다시한번 질문을 마구 +ㅁ+...죄송합니다

최대한 알아본후에 최후의 방벽이라 생각하고 공부에 정진하겠습니다.
느림보 / 2012/01/31 15:24:49 / 추천 0

.....이글을 웅파님이나 불의 회상님이 한번더 봐주셨으면 합니다...

 

$this->load->library('session');
$this->session->set_flashdata('msg', '성공');
echo $this->session->flashdata('msg');
이런식으로 플래쉬 데이터를 넣고 echo로 찍어보면 성공이라는 메세지가 떠야 정상아닌가요?? 막상해보니

아무것도 나타나질않습니다... 에러메세지도 없구요...제가 뭔갈 잘못한걸까요??
변종원(웅파) / 2012/01/31 16:09:15 / 추천 0
만든 페이지에서는 안나타나고 다른 페이지로 이동해보면 나타날겁니다.
만든 페이지에서는 쓸 이유가 없는.... ^^
양승현 / 2012/01/31 16:54:23 / 추천 0
리프래쉬(f5)를 한번더!
느림보 / 2012/01/31 20:22:21 / 추천 0
;;;아 서버를 request받고 그다음 나타나는 페이지에 데이터가 찍히는군요 ㅎㅎ....답글올린지 20분만에 알아 냈는데...ㅜㅜ 자답을 늦게 해서 죄송합니다..