2010-05-04 3 views
0

사이트에서 사용자를 로그 아웃해야하는 스크립트가 있습니다. 그것은 사용자의 로그인 데이터와 관련된 모든 $ _SESSION 및 $ _COOKIE 변수를 설정 해제합니다. 그러나 어쨌든 로그 아웃하는 것은 불가능한 것처럼 보입니다. 로그 아웃 스크립트의 끝에서 각 페이지의 시작 부분에 $ _SESSION 배열을 검사했습니다. 로그 아웃 스크립트의 끝에서 'array()'라고 말하지만 홈 버튼이나 사이트의 링크를 클릭하면 전체 세션 데이터가 다시 돌아오고 그 위치는 어디서 왔는지 알 수 없습니다. 세션 데이터의 설정을 해제하는 방법은 다음과 같습니다. unset($_SESSION); unset($_COOKIE["usid"]); unset($_COOKIE["pw"]); unset($_COOKIE["adm"]); - 다른 행에 삽입하는 방법을 모르지만 읽기가 어렵지 않습니다.
왜 이러한 데이터가 계속 복원됩니까?세션 변수가 설정 해제 된 후 완전히 복귀합니다.

답변

0

PHP 설명서에 "$ _SESSION을 사용하여 세션 변수를 등록 할 수 없으므로 unset ($ _ SESSION)으로 전체 $ _SESSION을 설정 해제하지 마십시오."라는 메시지가 표시됩니다.

대신 사용해보세요. $ _SESSION = array(); (PHP 문서에서 권장).

+0

아 맞다! 고맙습니다. 나는 세션을 다루는 방법을 알고 있다고 생각했지만 읽지는 않았다. 또한 일반적으로 unset ($ _ SESSION [userID]); 예를 들어, 나는 실수를했고 몇 가지 중요한 변수를 설정하지 않았다는 것을 잊어 버렸습니다. 어쨌든, 도와 줘서 고마워! – RemiX

관련 문제