본문 바로가기

Web

PHP 쿠키사용법

반응형

SetCookie(쿠키변수, 쿠키값, 시간, 경로, 도메인, 보안)


[쿠키변수]는 저장된 쿠키를 사용하기 위한 전역변수와 같은 역활.

[시간]은 [쿠키변수]가 [쿠키값]을 가지고 있는 만료일.

[경로]는 쿠키를 사용할 Path이다. 모든페이지를 사용하고자한다면 '/'로 설정하면된다.

[도메인]은 같은사이트의 다른 웹서버에서 이 쿠키를 사용.

[보안]은 쿠키가 특별한 조건내에서만 웹서버에 전달되어야 한다는 것을 정의해준다.


Warning : SetCookie() 함수는 브라우저로 보내는 어떤 데이터보다도 앞에 사용해야 한다.

PHP는 HTTP 쿠키를 Netscape's Spec의 정의에 따라 제공한다.

Cookie 메카니즘은 트래킹이나 사용자 식별 등을 위해 원격 browser에 저장된 데이터를 돌려 받는 과정을 말한다.

여러분은 cookie를 설정하기 위해 SetCookie() 함수를 사용할 수 있다.

Cookie는 HTTP 헤더의 한 부분이므로, SetCookie() 함수는 브라우저로 보내는 어떤 데이터보다도 앞에 사용해야 한다.


Example

--------------------------------------------------------------------------------------------------------------

<?php

$cookie_name = "user";

$cookie_value = "John Doe";

setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

?>

<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>

-------------------------------------------------------------------------------------------------------------------


쿠키 값 수정하기

-------------------------------------------------------------------------------------------------------------------

<?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>

-------------------------------------------------------------------------------------------------------------------


쿠키 값 삭제하기

-------------------------------------------------------------------------------------------------------------------

<?php

// set the expiration date to one hour ago

setcookie("user", "", time() - 3600);

?>

<html>

<body>


<?php

echo "Cookie 'user' is deleted.";

?>


</body>

</html>

-------------------------------------------------------------------------------------------------------------------


쿠키가 사용 가능한지 체크

-------------------------------------------------------------------------------------------------------------------

<?php

setcookie("test_cookie", "test", time() + 3600, '/');

?>

<html>

<body>


<?php

if(count($_COOKIE) > 0) {

    echo "Cookies are enabled.";

} else {

    echo "Cookies are disabled.";

}

?>


</body>

</html>

-------------------------------------------------------------------------------------------------------------------

반응형