Cookies
쿠키는 종종 사용자를 식별하는 데 사용된다.
쿠키는 서버가 사용자의 컴퓨터에 포함하는 작은 파일이다.
동일한 컴퓨터가 브라우저가있는 페이지를 요청할 때마다 쿠키도 전송된다. PHP를 사용하면 쿠키 값을 만들고 검색 할 수 있다.
쿠키 생성
쿠키는 setcookie() 함수로 생성된다.
setcookie(name, value, expire, path, domain, secure, httponly);
매개 변수 중 name만 필수 사항이며 다른 매개 변수는 선택 사항이다.
쿠키 검색
PHP
<!DOCTYPE html> <?php $cookie_name = "user"; $cookie_value = "John Doe"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); ?> <html> <body> <?php if(!isset($_COOKIE[$cookie_name])) { echo "Cookie named '" . $cookie_name . "' is not set!"; } else { echo "Cookie '" . $cookie_name . "' is set!<br>"; echo "Value is: " . $_COOKIE[$cookie_name]; } ?> <p><strong>Note:</strong> You might have to reload the page to see the value of the cookie.</p> </body> </html>
사용된 코드 설명
$cookie_name = “user”; $cookie_value = “John Doe”;
:
쿠키 이름이 user고 값이 John Doe인 쿠키를 생성한다.
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), “/”);
:
86400 = 1일, * 30하니 30일을 의미한다. “/” 쿠키가 전체 웹 사이트에서 사용 가능하다는 것을 의미한다.
따라서 쿠키는 30일 후에 만료된다. setcookie() 함수는 태그 앞에 나타나야 한다.
따라서 쿠키는 30일 후에 만료된다. setcookie() 함수는 태그 앞에 나타나야 한다.
if(!isset($_COOKIE[$cookie_name]))
:
isset 함수를 이용하여 쿠키가 설정되어 있지 않은지 확인한다.
쿠키 수정
쿠키를 수정하려면 setcookie() 함수를 사용하여 쿠키를 다시 설정 하면된다.
PHP
<?php $cookie_name = "user"; $cookie_value = "Alex Porter"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); ?> <html> <body> <?php if(!isset($_COOKIE[$cookie_name])) { echo "Cookie named '" . $cookie_name . "' is not set!"; } else { echo "Cookie '" . $cookie_name . "' is set!<br>"; echo "Value is: " . $_COOKIE[$cookie_name]; } ?> </body> </html>
기본 예시
Cookie named ‘user’ is not set!Note: You might have to reload the page to see the new value of the cookie.
쿠키 삭제
쿠키를 삭제하려면 과거의 만료 날짜와 함께 setcookie() 함수를 사용해야한다.
PHP
<!DOCTYPE html> <?php setcookie("user", "", time() - 3600); ?> <html> <body> <?php echo "Cookie 'user' is deleted."; ?> </body> </html>
기본 예시
Cookie ‘user’ is deleted.참고
W3C School - PHP Cookies
W3C School - PHP Network Functions
W3C School - PHP Tryit Editor