제목 | 메뉴 이동시 세션이 매번 새로 생성됩니다. | ||
---|---|---|---|
글쓴이 | 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. 디비에 세션이 제대로 만들어 지는가 확인
우선 해보시겠어요 ?