제목 | 세션에 자꾸 눌값이 들어갑니다.. | ||
---|---|---|---|
글쓴이 | 초보러 | 작성시각 | 2014/10/31 21:22:57 |
|
|||
저번에 질문했지만 적절한 해결책을 얻지 못해 다시 여쭤보려고 합니다... 이번엔 코드까지 자세하게 올려 도움을 구하고자 하는점 양해부탁드립니다! 먼저 문제는 var_dump($this->session->all_userdata()); 코드를 이용해 세션값을 조회 해보면
먼저 로그인 하는 부분의 코드를 보여 드리자면 (application/controllers/login.php) class Login extends CI_Controller { function index(){ $this->load->model('Join_model'); $this->load->view('head'); if($this->input->post('id')){ $data = $this->Join_model->gets(array( 'table'=>'acc_wait_tb', 'id'=>$this->input->post('id'), 'password'=>$this->input->post('password'), )); if($data == true){ $data = $this->Join_model->get_session($this->input->post('id')); $dd = $this->db->get_where('acc_wait_tb', array('id'=>$this->input->post('id')))->row(); $new_data = array( 'user_id'=>$dd->id, 'name'=>$dd->name, 'email'=>$dd->email, ); $this->session->set_userdata($new_data); echo "<script> location.href='/index.php/main'; </script>"; }else if($data == false){ echo "<script>alert('로그인 정보가 일치하지 않습니다.');</script>"; $this->load->view('log_main'); $this->load->view('footer'); } }else{ $this->load->view('log_main'); $this->load->view('footer'); } } } 입니다. 여기서 데이터베이스에서 정보를 비교해 정보가 일치할 경우 set_userdata($new_data);를 이용해 세션을 설정합니다. 그리고 난 다음 다른 페이지로 넘어가 세션을 조회해보면 위와 같이 user_data 에 눌값이 들어갑니다. 덤프를 떠본 곳의 코드는(application/views/nav.php) <?php var_dump($this->session->all_userdata()); $user_id = $this->session->userdata('user_id');?> <?php if($user_id != ""): ?> <p class="navbar-text pull-right" style="margin-right:30px;">안녕하세요. <a class="navbar-link" href=""><?=$this->session->userdata('name')?></a> 님 </p> <?endif;?> 입니다. 어느곳에서 잘못이 있는지 감을 잡을수가 없네요.. 부탁드립니다...! |
|||
다음글 | 마냐님 보드 세팅방법 아시는분.. (2) | ||
이전글 | ci에서 지원하는 라이브러리중에 upload 라이브러리... (1) | ||
taegon
/
2014/11/01 18:40:30 /
추천
0
|
초보러
/
2014/11/01 21:32:46 /
추천
0
taegon // 답변 감사합니다^^. 네 get_where은 코드이그나이터 자체에서 지원해주는 메소드라 db가 맞습니다. 일단 하나하나 넣어보겠습니다. 다른방식으로 접근하게 해주셔서 감사합니다!
확인 해봤는데 set_userdata('user_id','data'); 하고 덤프를 떠봤는데도 bool(false) 로 나타납니다.. 어디가 어떻게 잘못된 걸까요?... |
$dd = $this->db->get_where('acc_wait_tb', array('id'=>$this->input->post('id')))->row();
이 부분에서 db가 아니라 Join_model이 아니신지? 먼저 쿼리해오는 데이터가 정상적으로 리턴 되는지를 확인해 보시고 세션에 넣어보세요.
어쟀든 CI 세션이 생성되었다면 쿠기가 정상적으로 쓸 수 있다는 이야기이니 array 형태로 넣지 마시고
$this->session->set_userdata("login_id", "test"); 형태로 하나하나 넣어보세요~
그리고 출력하셔서 확인해보시면 문제점을 잡으실 수 있을 것 같습니다.