2014-06-20 1 views
0

내 문제 쿠키가 제대로 설정되지 않았습니다().쿠키 unset()이 올바르지 않습니다.

여기에 내 코드이 제대로 작동 $baseurl="http://localhost/demo/

여기

$expire=time()+(60*60*24*7); 
setcookie('ppt-superadmin',$user['login_id'],$expire,"/",$baseurl) 

입니다. 그리고 여기 내 logout.php 코드

session_start(); 
$expire=time()-(60*60*24*7); 
unset($_SESSION['ppt-superadmin-login']); 
setcookie('ppt_superadmin',"",$expire,"/",$baseurl); 
unset($_COOKIE['ppt-superadmin']); 
session_destroy(); 

내가 시도 모두 과거의 시간() 해제 및 이기에, setcookie. 작동하지 않습니다. 나는 로그인 할 때 설정 한 값을 보여줍니다. 여기에서 문제가 무엇입니까 ??

+0

'display_errors'가 켜져 있습니까? 항상 코드를 개발할 때'error_reporting (E_ALL); ini_set ('display_errors', 1);'- 헤더 오류는 쿠키 문제와 ​​매우 공통적입니다. 또한 설정되지 않은 쿠키의 값은 어디에서 확인 했습니까? 같은 스크립트에 있었습니까? 후속 HTTP 요청이있을 때까지 설정이 해제됩니다. PHP의 가치를보기보다는 브라우저의 개발자 도구로 쿠키를 검사하는 것이 가장 좋습니다. –

+1

아,'$ baseurl'은'http : // localhost/... 'URL이 아닌'localhost' 도메인이어야합니다. –

+1

쿠키를 설정 해제하려면 과거의 만료 시간 소인으로 쿠키를 다시 설정하면됩니다. 'time() - 1'하지만 세션이있는 경우 왜 쿠키를 사용합니까? –

답변

1

나는

setcookie('ppt_superadmin',"",$expire,"/",$baseurl); 
      ^

때문에 당신을 설정시는 밑줄 또는 대시되고 있는지 확인하십시오, 당신은 오타가 생각 해제 설정을시, 당신은 밑줄을 사용하면서 대시로 이름을 가지고있다.

+0

죄송합니다 .. 그건 내 맞춤법 실수. 그러나 그 문제를 해결하지 못했습니다. – Girish

+0

@ Girish : 이것이 코드에서 실제 실수 인 경우 다시 테스트하기 전에 쿠키를 지워야합니다. 그렇지 않으면 실제로 문제가 해결되지 않았다는 것을 확신 할 수 없습니다 –

관련 문제