2012-06-14 4 views
1

내 CI 세션이 내 데이터베이스에 저장됩니다.CodeIgniter - DB 세션을 쿼리하는 방법?

나는 CodeIgniter 외부에 userdata에있는 정보가 필요한 PHP 스크립트를 가지고 있습니다. my가 CI 세션 테이블을 쿼리하여 현재 사용자의 세션을 파악할 수있는 방법이 있습니까? CI는 사용자 IP와 "브라우저 데이터 문자열의 처음 120 자"를 확인합니다. 2 개의 데이터가 연결된 외부 스크립트에서 사용할 수 있습니다. 맞습니까? 이 두 필드를 쿼리하여 정확한 결과를 얻을 수 있습니까? 아니면 CI가 어떻게 든 session_id이 무엇인지 알고 있습니까?

또는 필요한 정보가 들어있는 CI의 기본 세션 변수를 설정하고 외부 PHP 스크립트에서 액세스하려고 할 수 있다고 생각했습니다. 그것은 작동하지 않았다.

제안 사항이 있습니다.

내 CI 사용자 시스템과 혜성 채팅 (외부 응용 프로그램을) 통합이 코드를 사용

답변

0

: 당신이 그것을 수정해야 할 수도 있지만 gyst 얻을 수 있습니다 포함해야 최종 $의 decoded_ci_session에서

$decoded_ci_session = @unserialize(@stripslashes($_COOKIE['ci_session'])); 

$sql = "SELECT user_data FROM ".TABLE_PREFIX."sessions WHERE session_id = '".$decoded_ci_session['session_id']."'"; 

$query = mysql_query($sql); 
$row = mysql_fetch_array($query); 
$decoded_ci_session = @unserialize(@stripslashes($row[0])); 

을 모든 사용자 데이터가 정상적으로 $this->session->userdata()

+0

재미있는 점은 CometChat 통합의 일부입니다. 전체 CI 세션을 쿠키에 넣었습니까? – StackOverflowNewbie

+0

방금 ​​ci db_session 라이브러리의 기본 설정을 사용했습니다. 나는 그것이 session_id와 2 개의 다른 정보 조각과 같다고 생각한다. 하지만 세션 ID를 사용하면 db를 쿼리하고 나머지 데이터를 키로 사용할 수 있습니다. cometch의 해당 통합 파일에서 var_dump ($ _ COOKIE) 할 수 있으며 ci_session의 내용을 알려 주어야합니다. – Rooster

관련 문제