๐ช ์ฟ ํค(Cookie)
: ์ธํฐ๋ท ์ฌ์ฉ์๊ฐ ์น ์ฌ์ดํธ๋ฅผ ์ ์ํ ๋ ์๋ฒ์์ ๋ณด๋ด์ฃผ๋ ์์ ๋ฐ์ดํฐ. ๋ก๊ทธ์ธ, ์ฅ๋ฐ๊ตฌ๋, ๋ฐฐ๋ ๊ด๊ณ ๋ฑ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ์ฃผ๋ก ์ฌ์ฉ๋จ.
๋ก๊ทธ์ธ ๊ณผ์ ์ ์๋ก ๋ค๋ฉด,
1. ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์น ํ์ด์ง์ ์ ์.
2. ์ฌ์ฉ์๊ฐ ์นํ์ด์ง์ ๋ก๊ทธ์ธ.
3. ์๋ฒ์์๋ ํด๋ผ์ด์ธํธ์ ์น ํ์ด์ง์ ์ฟ ํค๋ฅผ ์ ์ก.
4. ์ด ์ฟ ํค ์ ๋ณด๋ ์ฌ์ฉ์ ์ปดํจํฐ ํด๋์ ์ ์ฅ๋จ.
5. ๋ง์ฝ ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ํ์ด์ง์ ์ ์ํ๋ฉด ์ฌ์ฉ์ ์ธก์ ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ ํด๋์ ํด๋น ์ฟ ํค๊ฐ ์๋ ์ง๋ฅผ ์ฒดํฌํ์ฌ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์ ์์.
์ฟ ํค ์ค์ ํ๊ธฐ
php์์ ์ฟ ํค ์ค์ ํ ๋๋ setcookie() ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
setcookie(str name, str value, int expire)
name : ์ฟ ํค ์ด๋ฆ
value : ์ฟ ํค ์ด๋ฆ์ ์ค์ ๋๋ ์ฟ ํค ๊ฐ
expire : ์ฟ ํค๊ฐ ๋ง๋ฃ๋๋ ์ผ์. ์๋ฅผ ๋ค์ด, time() + 24*60*60*30์ 30์ผ ๊ฐ ์ฟ ํค๊ฐ ์ ํจํ๊ฒ ํ๋ค.
์์ ) cookie.php ์์ค์ฝ๋.
<?php
// 24*60*60 : 1์ผ์ ๋ํ๋
// ๋ฐ๋ผ์ ์๋์ ์ฟ ํค dessert๋ pudding์ด๋ผ๋ ๊ฐ์ ๊ฐ์ง๊ณ , 30์ผ ์ดํ์ ๋ง๋ฃ๋จ
setcookie("dessert", "pudding", time() + 24*60*60 * 30);
?>
|
cs |
์ฟ ํค ์ ๊ทผํ๊ธฐ
์์ cookie.php ํ์ผ์์ ์ค์ ํ dessert ์ฟ ํค์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์, ๊ทธ๋ฅ $_COOKIE ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
$_COOKIE : ์ฟ ํค์ ์ฌ์ฉ๋๋ ์ ์ญ ๋ณ์. ํด๋น ์ฟ ํค ๊ฐ์ ์ ๊ทผํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์์ ) cookie_access.php ์์ค์ฝ๋.
<?php
if(isset($_COOKIE["dessert"])){
echo $_COOKIE["dessert"]." ๋จน์๊ฑฐ์";
}
else {
echo "dessert ์ฟ ํค ์ด๋๊ฐ๋...?";
}
|
cs |
์ฟ ํค ์ญ์ ํ๊ธฐ
cookie.phpํ์ผ์์ ์ค์ ํ dessert ์ฟ ํค๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์,
setcookie() ํจ์๋ก ์ญ์ ํ ์ฟ ํค์ ๊ฐ์ null๋ก ์ฃผ๊ณ , ๋ง๋ฃ์ผ์ ํ์ฌ ์ด์ ์๊ฐ์ผ๋ก ์ง์ ํ๋ค.
์์ ) cookie_delete.php ์์ค์ฝ๋.
<?php
// dessert ์ฟ ํค์ ๊ฐ์ null("")๋ก ์ค ๋ค, ๋ธ๋ผ์ฐ์ ์์ ์ด ํ์ผ์ ์คํํ๋ฉด ๋๋ค.
// ์ด ๋ ์๊ฐ์ ํ์ฌ ์ด์ ์ผ๋ก ์ค์ ํ๋ค. time()-3600 ์ ํ์ฌ์๊ฐ 1์๊ฐ ์ ์ ๋ปํ๋ค.
setcookie("dessert", "", time()-3600);
echo "ํธ๋ฉ ๋จน์ด์ ์ญ์ ํจ";
?>
|
cs |
์ฟ ํค๋ก ๋ก๊ทธ์ธ ์ฒ๋ฆฌํ๊ธฐ!
1. ์ฟ ํค๋ฅผ ์ฌ์ฉํ ๋ฉ์ธํ์ด์ง
cookie_page.php ์์ค ์ฝ๋
1
2
3
4
5
6
7
|
<h3>์ฟ ํค๋ก ๋ก๊ทธ์ธ ์ฒ๋ฆฌํ๊ธฐ~~</h3>
<?php
if(!isset($_COOKIE["userid"]))
echo "<a href='cookie_login.php'>๋ก๊ทธ์ธ</a>";
else
echo "<a href='cookie_logout.php'>๋ก๊ทธ์์</a>";
?>
|
cs |
3~6๋ฒ ํ์์, ํ์ฌ๋ userid ์ฟ ํค๊ฐ ์ค์ ๋์ง ์์ ์ํ์ด๋ฏ๋ก isset($_COOKIE["userid"])๋ False ๊ฐ์ ๊ฐ์ง๋ค.
๋ฐ๋ผ์ 4ํ์ ๋ฌธ์ฅ์ด ์คํ๋์ด '๋ก๊ทธ์ธ' ์ด ํ๋ฉด์ ์ถ๋ ฅ๋๋ค.
'๋ก๊ทธ์ธ' ๋งํฌ๋ฅผ ํด๋ฆญํ์ ๋ cookie_login.php๋ก ํ์ด์ง ์ด๋๋๊ฒ ํ๋ค.
2. ๋ก๊ทธ์ธ ์ฒ๋ฆฌ : ์ฟ ํค ์ค์
๋ค์์ผ๋ก, cookie_login.php์์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ๋ํ๋ผ ์ฟ ํค๋ฅผ ์ค์ ํ์.
1
2
3
4
5
6
7
|
<?php
setcookie("userid","yj000", time() + 24*60*60 * 30);
echo "<script>
location.href = 'cookie_page.php';
</script>";
?>
|
cs |
์์ cookie_login.php ํ์ผ์ด ์คํ๋๋ฉด 3ํ์ ์ํด userid ์ฟ ํค๊ฐ ์ค์ ๋๊ณ , 6ํ์ ์ํด cookie_page.php๋ก ํ์ด์ง๊ฐ ์ด๋๋๋ค.
์ฐธ๊ณ ) location.href : ์๋ฐ์คํฌ๋ฆฝํธ์ location ๊ฐ์ฒด์ href ์์ฑ์ ํ์ฌ ์ ์ ์ค์ธ ํ์ด์ง ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค. ์์ฑ ๊ฐ์ URL ์ฃผ์๋ฅผ ์ค์ ํ๋ฉด ํด๋น ํ์ด์ง๋ก ์ด๋ํ ์ ์๋ค.
3. ๋ก๊ทธ์์ ์ฒ๋ฆฌ : ์ฟ ํค ์ญ์
'๋ก๊ทธ์์' ๋งํฌ๋ฅผ ํด๋ฆญํ์ ๋ cookie_page.php์ 6ํ์ ์ํด cookie_logout.php ํ์ด์ง๋ก ์ด๋๋๋ค.
cookie_logout.php ์์ ์ฟ ํค๋ฅผ ์ญ์ ํ๋ค.
1
2
3
4
5
6
7
8
|
<?php
// ์ฟ ํค ์ญ์
setcookie("userid", "", time()-3600);
echo "<script>
location.href = 'cookie_page.php';
</script>";
?>
|
cs |
์์ ์ฝ๋๊ฐ ์คํ๋๋ฉด์ ์ฟ ํค๊ฐ ์ญ์ ๋๊ณ , ๋ฐ๋ผ์ cookie_page.php์ 3ํ์์ userid ์ฟ ํค์ ๊ฐ์ด null์ด ๋๋ฏ๋ก ๋ค์ '๋ก๊ทธ์ธ'์ด ํ๋ฉด์ ์ถ๋ ฅ๋๋ค.
์ฐธ๊ณ ๋์: PHP + MySQL ์ ๋ฌธ ํฉ์ฌํธ ์ .
'PHP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ธ์ ์ผ๋ก ๋ก๊ทธ์ธ ์ฒ๋ฆฌํ๊ธฐ (0) | 2023.04.11 |
---|---|
์ฐ์ต๋ฌธ์ ํ์ด (0) | 2023.04.02 |