| 제목 | 메뉴 이동시 세션이 매번 새로 생성됩니다. | ||
|---|---|---|---|
| 글쓴이 | yishero | 작성시각 | 2012/12/06 22:11:36 | 
| 
                         | 
                |||
| 
                         config.php 세션 $config['sess_cookie_name'] = 'ci_session_s_manager'; $config['sess_expiration'] = 7200; $config['sess_expire_on_close'] = TRUE; $config['sess_encrypt_cookie'] = TRUE; $config['sess_use_database'] = TRUE; $config['sess_table_name'] = 'ci_sessions_s_manager'; $config['sess_match_ip'] = TRUE; $config['sess_match_useragent'] = TRUE; $config['sess_time_to_update'] = 300; 쿠키 $config['cookie_prefix'] = ""; $config['cookie_domain'] = "localhost"; $config['cookie_path'] = "/"; $config['cookie_secure'] = FALSE; 로그인 확인 후 세션 설정하는 곳. if ( $hid_login == 'ON' ) { $login_id = $this->input->post('login_id'); $password = $this->input->post('password'); $result = $this->users_model->login_check( $login_id, $password ); if ( $result == FALSE ) { redirect( 'top/login/index?error_type=not_matching' ); } $this->session->set_userdata( 'session_user_login_id', $login_id ); $this->session->set_userdata( 'session_user_level', $result[0]['level'] ); $this->session->set_userdata( 'session_user_name', $result[0]['name'] ); } 로그인 후에는 헤더에 세션 정보가 나옵니다. 그런데... 아래 링크의 '입력' 페이지로 이동하면 세션id가 새로 생성되면서 session_user_login_id가 사라져 버립니다. <? if ( $this->session->userdata( 'session_user_login_id' ) ) : ?> <div align='right'><b><? echo $this->session->userdata( 'session_user_name' ); ?>님, 반갑습니다.</b> <a href='<? echo site_url('top/login'); ?>'>로그아웃</a></div> <div> <a href='<? echo site_url(''); ?>'>조회</a> | <a href='<? echo site_url('home/skill/set_skill'); ?>'>입력</a> | <a href='<? echo site_url(''); ?>'>검색</a> | <a href='<? echo site_url(''); ?>'>정보 수정</a> </div> <? endif; ?> 의심가는 곳이 있으신 분 조언 부탁드립니다~!!  | 
                |||
| 다음글 | 세션값 표현식? (4) | ||
| 이전글 | tank_auth 아이디 중복처리에 대해서 (2) | ||
| 
                             
                                니삼
                                /
                                2012/12/06 22:38:31 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                yishero
                                /
                                2012/12/07 09:28:37 /
                                추천
                                0
                             
                            
                                세션 라이브러리는 autoload 시켜놓았습니다.  
                        그리고 세션 확인해보니 이렇게 들어있었는데, a:3:{s:21:"session_user_login_id";s:4:"tttt";s:18:"session_user_level";s:1:"1";s:17:"session_user_name";s:9:"???";} 페이지를 이동하니 데이타가 비어있는 새로운 세션 아이디가 생성되네요. 일단 원인은 알았는데 해결책은 아직 못 찾고 있어요~  | 
                    
| 
                             
                                니삼
                                /
                                2012/12/07 11:12:45 /
                                추천
                                0
                             
                            
                                 $config['sess_cookie_name']        = 'ci_session_s_manager'; 
                        여기서 _ 잠시 빼보시고 테스트 한번 해주실수 있을까요? 특문 버그가 ie에서 있는걸로 아는데  | 
                    
| 
                             
                                yishero
                                /
                                2012/12/07 13:27:07 /
                                추천
                                0
                             
                            
                                덧글 감사합니다. $config['sess_cookie_name']        = 'smanager'; 로 해도 같은 결과네요.  
                        참고로 CI버전은 2.1.3을 쓰고 있어요.  | 
                    
| 
                             
                                ci공부
                                /
                                2012/12/10 11:07:12 /
                                추천
                                0
                             
                            
                                 $config['sess_use_database']    = TRUE; 
                        이값을 false로 변경후 테스트해보세요 테스트하면서 정상적으로 된다면 userdata값 가져오기위해서 DB쿼리하면서 컬럼값 대소문자때문에 해당 값을 못가져와 새로운 세션을 만들어 낼 수 도있습니다  | 
                    
1. 디비에 세션이 제대로 만들어 지는가 확인
우선 해보시겠어요 ?