PHP 쿠키

쿠키는 사용자를 인식하는 데 자주 사용됩니다.

Cookie는 무엇인가요?

쿠키는 사용자를 인식하는 데 자주 사용됩니다. 쿠키는 서버가 사용자 컴퓨터에 남겨둔 작은 파일입니다. 같은 컴퓨터가 브라우저를 통해 페이지를 요청할 때마다 쿠키가 함께 전송됩니다. PHP를 통해 쿠키를 생성하고 값을 가져올 수 있습니다.

쿠키를 어떻게 생성하나요?

setcookie() 함수는 쿠키를 설정하는 데 사용됩니다.

주의사항:setcookie() 함수는 <html> 태그 이전에 위치해야 합니다.

문법

setcookie(name, value, expire, path, domain);

예제

아래의 예제에서는 "user" 이름의 쿠키를 생성하고, 그 값으로 "Alex Porter"를 할당했습니다. 또한 이 쿠키가 1시간 후에 만료되도록 설정했습니다:

<?php 
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>

주의사항:쿠키를 전송할 때, 쿠키의 값은 자동으로 URL 인코딩됩니다. 가져오는 때 자동으로 디코딩됩니다(URL 인코딩을 방지하려면 setrawcookie()를 대신 사용하세요).

Cookie의 값을 어떻게 가져오나요?

PHP의 $_COOKIE 변수는 쿠키 값을 가져오기 위해 사용됩니다。

아래의 예제에서는 "user" 이름의 쿠키 값을 가져와서 페이지에 표시했습니다:

<?php
// 쿠키 출력
echo $_COOKIE["user"];
// 모든 쿠키를 볼 수 있는 방법
print_r($_COOKIE);
?>

아래의 예제에서는 isset() 함수를 사용하여 쿠키가 설정되었는지 확인합니다:

<html>
<body>
<?php
if (isset($_COOKIE["user"]))
  echo "환영 " . $_COOKIE["user"] . "!<br />";
else
  echo "환영하는 고객이십니까!?<br />";
?>
</body>
</html>

쿠키를 어떻게 삭제하나요?

쿠키를 삭제할 때, 만료 날짜를 과거의 시간点到경우에 합니다.

삭제 예제:

<?php 
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>

브라우저가 쿠키를 지원하지 않을 경우 어떻게 해야 합니까?

쿠키를 지원하지 않는 브라우저가 있을 경우, 정보를 한 페이지에서 다른 페이지로 전달하기 위해 다른 방법을 취해야 합니다. 하나의 방법은 양식을 통해 데이터를 전달하는 것입니다(양식과 사용자 입력에 대한 내용은 이 튜토리얼에서 이미 소개했습니다).

아래의 양식은 사용자가 제출 버튼을 클릭할 때 "welcome.php"에 사용자 입력을 제출합니다:

<html>
<body>
<form action="welcome.php" method="post">
이름: <input type="text" name="name" />
연령: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

"welcome.php"에서 값을 가져오는 방법은 이렇게 됩니다:

<html>
<body>
환영합니다 <?php echo $_POST["name"]; ?>.<br />
당신은 <?php echo $_POST["age"]; ?> 세입니다.
</body>
</html>