쿠키에 데이터를 저장하고 싶을 때
쿠키에 데이터를 저장하고 싶을 때
쿠키(Cookie)에 데이터를 저장하려면 setcookie() 함수를 사용합니다. 쿠키를 이용하면
Web 서버쪽에서 생성한 데이터를 액세스하고 있는 사용자의 Web 브라우저에 저장할 수 있습니다.
<?php
// 쿠키에 대입할 문자열을 설정합니다.
$cookie_data = 'PHP 프로그래밍';
// 쿠키에 Cookie 이름을 'sample'로 저장합니다.
$result = setcookie('sample', $cookie_data, time() + 3600, '/');
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>데이터를 Cookie에 저장하고 싶을 때(저장)</title>
</head>
<body>
<div>
<?php
if ($result) {
echo '<p>Cookie를 저장했습니다.</p>';
} else {
echo '<p>setcookie() 함수의 실행에 문제가 발견되었습니다.</p>';
}
?>
<p><a href="print_cookie.php">Cookie의 내용을 표시</a></p>
</div>
</body>
</html>
만약 example.kr의 모든 서브 도메인에서 쿠키를 유효하게 하려면 '.example.kr'을 지정합니다.
setcookie('sample', $cookie_data, time() + 3600, '/', '.example.kr');
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>데이터를 Cookie에 저장하고 싶을 때(표시)</title>
</head>
<body>
<div>
<p>
<?php
// h() 함수 레시피 218를 불러옵니다 레시피 041.
require_once '../../../../lib/h.php';
if (isset($_Cookie['sample'])) {
echo '쿠키의 내용: ' . h($_COOKIE['sample']);
} else {
echo '쿠키는 없습니다.';
}
?>
</p>
<p><a href="delete_cookie.php">쿠키를 삭제한다.</a></p>
</div>
</body>
</html>
<?php
// 쿠키를 삭제합니다
setcookie('sample', '', time() - 3600, '/');
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Cookie를 삭제하고 싶을 때</title>
</head>
<body>
<div>
<p>Cookie를 삭제했습니다.</p>
<p><a href="print_cookie.php">Cookie의 내용을 표시한다.</a></p>
</div>
</body>
</html>