2012-01-17 2 views
5

전자 상거래 웹 사이트에 Codeigniter 및 Tank Auth를 사용하고 있습니다. 나는 고객이 장바구니에 품목을 넣고 (카트 클래스에 내장 된 Codeigniter를 사용하여) 사이트에 등록하면 장바구니와 함께 세션이 손실된다는 것을 알게되었다. (나는 그 대신에 어떤 이유로 새로운 세션을 생성한다고 추정한다. 같은 세션을 유지하는 것).Codeigniter 및 Tank Auth를 사용하여 세션 데이터를 유지하는 방법

이전에이 문제를 발견 한 사람이 있습니까? 내가 간과해온 단순한 해결책이 있습니다.

감사

+0

Upvoted, 나는 웹 사이트를 보느라 피곤해서. –

답변

3

지금까지 가장 최근의 코드가 보이는 삭제 구멍 세션이 logout() 기능에있는 유일한 장소, Tank_auth.php 라인 같은 118 : 탱크의 https://github.com/ilkon/Tank-Auth/blob/master/application/libraries/Tank_auth.php#L118

예제 사용 Auth는 activate()reset_email()logout()을 사용합니다. 해당 방법에 대한 코드를 확인하십시오. 또한 이런 식으로 탱크 인증 로그 아웃 기능을 변경할 수 있습니다 :

function logout($keep_session = false) 
{ 
    $this->delete_autologin(); 

    // See http://codeigniter.com/forums/viewreply/662369/ as the reason for the next line 
    $this->ci->session->set_userdata(array('user_id' => '', 'username' => '', 'status' => '')); 

    if(!$keep_session) 
     $this->ci->session->sess_destroy(); 
} 

... 그리고 사용이이 같은

: $ this-> tankauth-> 로그 아웃 (true)를;

+0

아, 네, 완전히 놓쳤습니다! 완벽한 대답과 추가 코드는 큰 도움이되었습니다. 감사합니다. – BlueFox

+0

추가 정보 이것에, userdata의 설정도 IF 문 안에 있어야합니까? 현재로서는 키 세션 데이터가 해제됩니다. – BlueFox

+0

사실 저는 이제 logout 함수를 완전히 auth.php 행 310에서 삭제했습니다 [링크] (https://github.com/ilkon/Tank-Auth/blob/master/application/controllers/auth.php#L310). 시도하고 테스트 한 작품이 위. – BlueFox

관련 문제