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