PHP setcookie() 함수

정의 및 사용법

setcookie() 함수는 클라이언트로 HTTP 쿠키를 전송합니다

cookie는 서버가 브라우저로 전송하는 변수입니다. cookie는 일반적으로 서버가 사용자 컴퓨터에 내장하는 작은 텍스트 파일입니다. 컴퓨터가 브라우저를 통해 페이지를 요청할 때마다 이 쿠키가 전송됩니다

cookie 이름은 동일한 이름의 변수로 지정됩니다. 예를 들어, 전송된 cookie 이름이 "name"인 경우, 쿠키 값이 포함된 $user라는 변수가 자동으로 생성됩니다

cookie를 할당해야 하는 경우, 다른 모든 출력 전에 cookie를 할당해야 합니다

성공하면 true를 반환하고, 실패하면 false를 반환

문법

setcookie(name,value,expire,path,domain,secure)
파라미터 설명
name 필수. 쿠키의 이름을 지정
value 필수. 쿠키의 값을 지정
expire 선택 사항. 쿠키의 유효 기간을 지정
path 선택 사항. 쿠키의 서버 경로를 지정
domain 선택 사항. 쿠키의 도메인을 지정
secure 선택 사항. 쿠키를 안전한 HTTPS 연결을 통해 전송할지 여부를 지정

추가 정보 및 주석

주의:user라는 이름의 쿠키 값에 접근할 수 있습니다. $HTTP_COOKIE_VARS["user"] 또는 $_COOKIE["user"]

주의:쿠키를 전송할 때, 쿠키 값은 자동으로 URL 인코딩됩니다. 수신 시 URL 디코딩됩니다. 이렇게 하지 않으려면 사용할 수 있습니다 setrawcookie() 대신.

예제

예제 1

쿠키 설정 및 전송:

<?php
$value = "my cookie value";
// 간단한 쿠키 전송
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
<?php
$value = "my cookie value";
// 24시간 후 만료되는 쿠키를 전송
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...

예제 2

쿠키 값의 다양한 검색 방법:

<html>
<body>
<?php
// 개별 쿠키 출력
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// 모든 쿠키 출력
print_r($_COOKIE);
?>
</body>
</html>

출력:

my cookie value
my cookie value
Array ([TestCookie] => my cookie value)

예제 3

// 만료 날짜를 과거의 날짜/시간으로 설정하여 쿠키를 지우기

<?php
// 만료 날짜를 한 시간 전으로 설정
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...

예제 4

쿠키 배열을 생성합니다:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// 쿠키 출력 (페이지 다시 로드 후)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>
...
...

출력:

three : cookiethree
two : cookietwo
one : cookieone