만들면서 배우는 CodeIgniter Q&A

제목 게시판 중 session 관련 문의
글쓴이 한미르 작성시각 2013/08/19 15:49:33
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 10582   RSS

게시판 내용중 session 단원 에서

[auth.php]
~
 $this->session->set_userdata($newdata);

다음에 alert($this->session->userdata('username')); Test 하면 Database에서 잘 읽어 오는 데

[headder_v.php]
~
if( @$this->session->userdata('logged_in') == TRUE ) {
~
이후 Test 하면 값을 가져오지 못하고 있습니다.(Null 값)

책에는 $this->session->userdata['username']    <- check 필요.

참고)

[config.php]
 ~
$config['sess_cookie_name']  = 'ci_session';
$config['sess_expiration']  = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name']  = 'ci_sessions';
$config['sess_match_ip']  = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;

oci8 설정


태그 session
 다음글 게시판에서 uri->segment(3)이 정의되지... (5)
 이전글 게시판 한글 검색 문제 (2)

댓글

변종원(웅파) / 2013/08/19 16:23:59 / 추천 0
<?php
if( @$this->session->userdata('logged_in') == TRUE )
{
?>
<?php echo $this->session->userdata('username')?>님 환영합니다.


[ ] 가 아니라 ( ) 가 맞습니다.


$config['sess_match_useragent'] = TRUE; 값을 FALSE로 변경해보세요.
한미르 / 2013/08/19 17:15:09 / 추천 0

같은 결과 입니다.


어떤 부분을 빼 먹고 한것지 영~~~~

PS) 빠른 답변 감사합니다.

변종원(웅파) / 2013/08/19 17:45:19 / 추천 0
db session을 선택하셨으니까 로그인 시점 전후로 db 변경 결과를 보세요.
아마 세션이 하나 더 생겼을 겁니다. 

$config['sess_cookie_name']  = 'ci_session';   _(언더바) 제거하고 해보시구요.



한미르 / 2013/08/21 17:58:51 / 추천 0
양쪽 다 'session_id'는 같이 나오는데 DB에도 값은 존재 하며,
똑같은 결과입니다.

SNS프로젝트에서도 Test 한 결과도 같습니다.
변종원(웅파) / 2013/08/23 12:01:34 / 추천 0
<?php echo $this->session->userdata('username')?> 

위와 같이 변경했는데도 안나온다면 세션이 사라지는겁니다.
다른 세션값도 출력해보세요.
샤오란 / 2014/05/07 18:12:07 / 추천 0
작년글이라 댓글 달기가 좀 머하지만 혹시나
저처럼 문제의 해결방법을 찾기위해 계속 검색해서 살펴보시는 분들을 위해 댓글답니다.
저도 위와 같은 똑같은 증상이었습니다.
페이지가 로드될때마다 새로운 세션이 계속 만들어 지더라구요.
로그인됬다고 알림창이 떠도 페이지가 로드될때마다 세션이 새로 만들어지니까 
뷰에서 데이터가 저장된 세션이 아닌 다른 세션에서 데이터를 가져와서
저련현상이 발생하는것 같더라구요.
아무튼 전
$config['sess_encrypt_cookie']    = FALSE ;  // 기본값이 false 로 되어있는데
TRUE 로 바꾸니까 정상적으로 되더라구요