CI 묻고 답하기

제목 컨피그 파일에서 세션값 가져오기
카테고리 CI 2, 3
글쓴이 소연신 작성시각 2017/10/19 10:35:35
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 13732   RSS

아무리 해도 안되서요ㅜ 

 

$_SESSION 이거로도 못 가져오고

 

$this->CI =& get_instance();

echo $this->CI->$this->session->userdata('');

 

이렇게도 안되고..사용이 안되는건지 제가 잘못한건지 모르겠습니다.ㅜ 도와주세요

 다음글 $this->form_validation->... (2)
 이전글 페이지에서 메일 보내기 도와주세요 (6)

댓글

kaido / 2017/10/19 10:51:45 / 추천 0
echo $this->CI->session->userdata('');

 

라이브러리나 헬퍼나 훅크에서 사용하는 샘플예제입니다

class Header_init  {
    private $CI;
 
    function __construct()
    {
        $this->CI =& get_instance();
 
        if(!isset($this->CI->session)){  //Check if session lib is loaded or not
              $this->CI->load->library('session');  //If not loaded, then load it here
        }
    }
 
 
    public function inits(){
     
        $CI =& get_instance();
        $CI->load->library('session');   
         
              //렛츠 원하는 대로 즐프~
         
    }
}

 

소연신 / 2017/10/19 11:05:46 / 추천 0

@kaido

라이브러리나 헬퍼 훅에선 잘 쓰고 있는데.. 컨피그 파일에선 안되네요. 

파일 안에 클래스 만들어서 해야되나요?

$this->CI =& get_instance();
echo $this->CI->session->userdata('level');

그냥 이렇게 썼더니 CI_Controller  이걸 찾을 수 없다고 떠서요

한대승(불의회상) / 2017/10/19 11:13:07 / 추천 0

config에서는 컨트롤러가 load 전이기 때문에 CI 라이브러리를 사용하여 session 값을 가져 올수 없습니다.

설치된 CI가 3.X라면 네이티브 세션을 기본으로 사용하기 때문에 $_SESSION 변수를 통해서 가져 올 수 있을겁니다.

kaido / 2017/10/19 11:13:58 / 추천 0

config 파일이면 아직 컨트롤러가 로드되기 전이었던걸로 기억 합니다.

꼭 컨피그 파일을 써야할 이유가 없다면 config 폴더 안에 설정용 파일 하나 더 만들어서 사용하시는 것이 어떨가 싶습니다.

소연신 / 2017/10/19 11:19:43 / 추천 0

@한대승

아..안되는거였군요.  근데 $_SESSION이걸로도 안되더라구요ㅜ

소연신 / 2017/10/19 11:20:11 / 추천 0

@kaido

아 새로운 파일...음. 한 번 해봐야겠네요 답변 고맙습니다.

알브레드 / 2017/10/27 15:36:23 / 추천 0

@소연신

session_start(); 함수는 호출하셨나요?