2011-12-17 3 views
-1

세션 사용자 데이터에 userid을 저장하고 있지만 사용자 데이터는 하나의 컨트롤러에서만 사용할 수 있습니다. CodeIgniter 세션을 전역으로 액세스 가능하게 만들고 싶습니다.어떻게 codeigniter 세션을 전역 적으로 액세스 가능하게 설정할 수 있습니까?

는 난 그냥 로딩이 코드

$custom_data = array(
      'userid' => $user_id, 
      'loggedin' => TRUE 
); 

$this->session->set_userdata($custom_data); 

에게 세션 라이브러리를 가지고 있고, 또한 주변 검색 한 후 몇 가지 해킹을 사용했지만 아무것도 내가하고 싶은대로 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

4

잠깐만 요, 인터넷 어디에서나 CodeIgniter에서 세션을 사용하는 것에 관한 것은 없습니까?

이 프레임 워크는 5 년 동안 사용되지 않았기 때문에 나는 그런 경우가 의심 스럽습니다. 어쩌면 문제를 잘 설명하지 않았을까요?

$this->session->userdata('userid'); 

하여 값을 반환 할 것이다 : 당신이 다음 다른 컨트롤러에서 그것을 얻고 싶은 말은 사용하는 경우 전 세계적으로

는 accessable 한.

전역 적으로 사용할 수있는 경우 다른 PHP 파일 (CodeIgniter 제외)에서 사용할 수 있습니다. 완전히 다른 것입니다. 기본 PHP 세션을 사용하여 CodeIgniter 세션을 사용하기 위해 PHP 및 CodeIgniter 세션에서 기본적으로 작업해야합니다. 단순한! :)

+0

userid를 'userid'로 설정 한 다음 그 뷰에 뷰를로드합니다. 'print_r ($ this-> session-> userdata);'을 두 번씩 출력하지만 다른 뷰 다른 컨트롤러에서로드 할 때 세션 사용 데이터의 userid 필드가 비어 있습니다. – Bilal

+0

$ this-> session-> userdata ('userid'); 필요한 곳이면 입니다. 항상 전 세계적으로 액세스 할 수 있습니다. 내가보기에서 바로 사용 – Brad

+0

"($ this-> session-> userdata ('name')) { echo"환영 "$ this-> session-> userdata ('name');) – Brad

관련 문제