CI 묻고 답하기

제목 코드이그나이터 2.2 세션 관련 질문드립니다..
카테고리 CI 2, 3
글쓴이 나오나옹아 작성시각 2018/03/28 10:11:51
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13774   RSS

현재 코드이그나이터 2.2 버전을 사용하고 있으며,

 

$token = md5(uniqid(rand(), true));

$this->session->set_userdata('token', $token);

 

이런식으로 임의로 토큰을 세션값에 담아서 사용하는 중입니다.

 

근데 문제가 세션이 공유가 안되고 있습니다. 모든 페이지에서 안되면 해결방법을 쉽게 찾을수 있을것 같은데,

특정 페이지에서만 공유가 안되고 있습니다.

ex) 아래의 코드로 예를 들면 세션생성을 한후에 세션가져오기1번을 호출하면 가져올수 있고,

세션가져오기2번을 호출하면 못가져오는 상황입니다..

혹시 이런 문제를 겪으신거나 짐작가는 부분이 있으면 공유 부탁드리겠습니다.

 

public function 세션생성() {

 세션생성

}

 

public function 세션가져오기1 {

 세션 가져오기

}

 

public function 세션가져오기2 {

 세션 가져오기

}

 다음글 코드이그나이터 개념에 대한 초보 질문입니다 (1)
 이전글 set_value VS $this->input-&... (2)

댓글

변종원(웅파) / 2018/03/28 17:53:45 / 추천 0

세션으로 포럼에서 검색을 먼저 해보시고 답글을 적용하면서 테스트해보세요.

보통 그런 경우엔 세션이 사라지는게 아니라 빈 세션이 하나 더 생성되서 없는걸로 나오는 경우입니다.

나오나옹아 / 2018/03/29 16:43:19 / 추천 0

답변 감사합니다.

포럼 내에서 검색한걸로 해결책을 못찾아서, 굳이 세션을 사용하지 않아도 되는 부분이어서 js에서 쿠키를 생성하여 백단쪽에서 쿠키값을 가져오는 방식으로 해결하였습니다.

참고로, 모든 페이지에서 저런 현상이 일어나는 것이 아니라, 간헐적으로 일어나고 있어 원인을 찾기는 힘든것 같습니다..

 

테스트로 겪은것은 세션값이 틀려진다는 부분이었습니다.

ex) 세션값에 md5(uniqid(rand(), true)); 난수를 생성하여 담았는데,

불러오는 쪽에서는 다른 난수를 생성을 생성하여 불러왔습니다.

이또한 간헐적으로 10번중에 1번 나타난 문제입니다..

중간에 어디서 바꼈는지는 못찾았습니다......