2013-02-24 6 views
0

쿠키 자동 로그인을 시도했지만 쿠키가 설정되었지만 PHP에서 읽을 수 없습니다. 쿠키 몬스터로 볼 수 있기 때문에 설정되어 있다는 것을 알고 있으며, 무엇이 잘못되었는지를 모른다 ... 도움이 필요하십니까? 그것은 나를 미쳤다!내 쿠키가 설정되었지만 PHP가 쿠키를 읽을 수 없습니다.

쿠키를 설정하는 코드 (내가 어떤 HTML 태그 앞에 그것을 할)

setcookie("autologin", $_SESSION['user'], time()+5184000, "/"); 

코드하면를 검색 할 수 있습니다 :

if (!isset($_SESSION['user']) && isset($_COOKIE['autologin'])) { 
    $_SESSION['user']=$_COOKIE['autologin']; 
} 

업데이트를 : 나는에 위의 코드를 사용하지 않는 같은 스크립트. 로그인을하고 브라우저를 닫은 다음 쿠키를 다시 열어 쿠키가 쿠키 몬스터에 있지만 PHP가 그것을 볼 수 없습니다.

FIX : 내 문제는 내가 직렬화 된 객체를 저장하려고 하였다, $ _SESSION은 [ '사용자', 쿠키에, 그것은 그와 함께 수정되었습니다 :

setcookie("autologin", base64_encode($_SESSION['user']), time()+5184000, "/"); 

와 함께 검색 :

if (!isset($_SESSION['user']) && isset($_COOKIE['autologin'])) { 
     $_SESSION['user']=base64_decode($_COOKIE['autologin']); 
} 

답변

0

내 문제는 내가 직렬화 된 객체를 저장하려고이었다, $ _SESSION은 [ '사용자', 쿠키, 그것은 그 수정되었습니다 :

setcookie("autologin", base64_encode($_SESSION['user']), time()+5184000, "/"); 

와 함께 검색 :

if (!isset($_SESSION['user']) && isset($_COOKIE['autologin'])) { 
     $_SESSION['user']=base64_decode($_COOKIE['autologin']); 
} 
0

이 쿠키는 on next page loading에 있습니다. 이 페이지에서 직접 정의 할 수 있습니다.

+0

동일한 스크립트에서 코드를 사용하지 않습니다. 어쨌든 덕분에 명확한 업데이트를 읽어보십시오. – josecash

+0

setCookie에서 도메인을 정의하십시오. 쿠키를 설정하고 가져올 때 동일한 도메인을 사용하고 있는지 확인하십시오. – sectus

+0

알았어, 고쳐 졌어. 문제는 직렬화, 나는 쿠키에 직렬화 된 객체를 저장하려고했는데 어떤 이유로 든 그것을 얻지 못한다. 그래서 serialize와 base64_encode를 이제는 아무 문제없이 수행했다. – josecash

관련 문제