여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. PHP - 기초 - Cookies
PHP – 기초 – Cookies
2년전 작성
1년전 수정

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() 함수는 태그 앞에 나타나야 한다.
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.

참고

Mingg`s Diary
밍구
밍구
공부 목적 블로그