2014-04-11 2 views
1

현재 다음 코드를 사용하여 사용자를 로그 아웃하고 있습니다.PHP에서 세션 및 쿠키를 삭제하지 못했습니다.

session_start();  
setcookie("u", "", time() - 999999); 
setcookie("i", "", time() - 999999); 
setcookie(session_name(),"",time()-999999); 
session_destroy(); 

$_COOKIE['u']$_COOKIE['i']가 자동으로 사용자가 로그인하는 데 사용됩니다.

이 로그 아웃 파일을 웹 디렉토리 (예 : www/) 바로 아래에 배치하면 문제가 발생합니다. 그러나 보조 디렉토리 (예 : www/includes/)에 넣거나 코드를 includes 폴더에있는 다른 PHP 페이지 (예 : 비밀번호 변경 후 사용자를 로그 아웃)와 결합하면 사용자는 성공적으로 로그 아웃 할 수 없습니다.

답변

0

쿠키가 다른 경로에 설정되어있는 것으로 보입니다. 네 번째 매개 변수는 도메인 경로이고 다섯 번째 매개 변수는 도메인입니다.

bool setcookie (string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]]) 

그것은 쿠키와 함께 작업 할 때 명시 적으로 이러한 설정하는 것이 좋습니다 http://www.php.net/manual/en/function.setcookie.php

를 참조하십시오.

+0

감사합니다. @AJReading에 '/'을 추가하면 문제가 해결됩니다. – Harrison

관련 문제