2011-04-07 5 views
2

저는 쿠키와 같은 것들을 처음 접했습니다.폴더 안의 페이지에서 전체 도메인에 쿠키를 설정하십시오.

mydomain.com/folder/page.php과 같은 폴더의 페이지에서 전체 도메인에 대한 쿠키를 설정해야합니다. 나는 이것을 전에해야만했고 쿠키를 설정 한 다른 페이지 mydomain.com/another.php으로 리다이렉트했다. 이제는 양식 및 기타 사항에서 오는 일부 데이터 때문에 페이지를 리디렉션하지 않아야합니다. 어떻게이 작업을 수행 할 수 있습니까?

setcookie("name", $name, time()+31536000);folder 안에있는 페이지에만 쿠키를 설정하고 setcookie("name", $name, time()+31536000,'/','mydomain.com');을 시도했지만 작동하지 않았습니다.

+1

도메인 이름 부분 만 제거하면됩니다. 나는 그것이 효과가있을 것이라고 생각한다. – mahadeb

+0

이 명령 중 하나가 작동해야합니다. error.log에서 오류를 확인 했습니까? – HTDutchy

답변

9

이 코드는 확실히 작동합니다

setcookie("name", $value, time()+31536000,'/'); 

당신은 mydomain.comwww.mydomain.com 또는 sub.mydomain.com 다른 떨어져 있다는 사실을 양지해야합니다.

이 외에도 $value의 값은 문자열이어야합니다.

+0

도움 주셔서 감사합니다. 정말 효과가있었습니다. 너무 오래 받아 들여서 죄송합니다. 4 일 전에 답하셨습니다. –

1

@SPL_Splinter : 출력 전에 쿠키를 설정해야합니다. 따라서, 예를 들어 :

<?php 
$name = 'Some name'; 

setcookie("name", $name, time() + 31536000, '/', '.mydomain.com'); 
if (isset($_COOKIE['name'])) 
{ 
    echo $_COOKIE['name']; 
} 
?> 

업데이트 쿠키를 사용할 수

http://php.net/manual/en/function.setcookie.php에서 도메인. example.com의 모든 하위 도메인 (example.com 자체 포함)에서 쿠키를 사용할 수있게하려면 '.example.com'으로 설정하십시오. 일부 브라우저는 초기 쿠키없이 쿠키를 허용하지만,»RFC 2109는 쿠키가 포함되어야합니다. 도메인을 'www.example.com'또는 '.www.example.com'으로 설정하면 쿠키가 www 하위 도메인에서만 사용 가능하게됩니다.

관련 문제