쿠키로 로그인 처리하기
실제로 웹 페이지에서 쿠키를 이용하여 로그인 처리를 하는 방법에 대해 알아봅시다. 다음 웹 페이지에서는 화면에 '로그인' 글자를 보여줍니다. 만약 '로그인' 글자를 클릭하면 로그인 처리가 수행되어 '로그아웃' 글자를 출력됩니다.
06/cookie_page.php
<h3>쿠키로 로그인 처리하기</h3>
<?php
if(!isset($_COOKIE["userid"])) // 03
echo "<a href='cookie_login.php'>로그인</a>";
else
echo "<a href='cookie_logout.php'>로그아웃</a>" // 06
?>

03~06 현재는 userid 쿠키가 설정되지 않는 상태이기 때문에 isset($_COOKIE["userId"])는 False값을 가집니다. 따라서 4행의 문장이 실행되어 위 실행 결과에서와 같이 '로그인' 글자가 화면에 출력됩니다.
실행 결과의 화면에서 '로그인' 글자를 클릭해 봅시다. 이 글자를 클릭하면 4행의 링크에 의해 cookie_login.php로 페이지가 이동합니다.
다음의 cookie_login.php에서 로그인 상테를 나타내는 userid 쿠키를 설정합니다.
06/cookie_login.php
<?php
// 24*60*60 = 1일, 30일 후 쿠키 만료
setcookie("userid", "hong123", time() + 24*60*60 * 30); // 03
echo "<script> // 05
location.href = 'cookie_page.php';
</script>";
?>
03 setcookie() 함수를 이용하여 userid 쿠키의 값을 'hong123'으로 설정합니다. 이 쿠키는 30일간 유효합니다.
05 자바스크립트 location.href를 이용하여 cookie_page.php로 페이지를 이동시킵니다.
정리하면 cookie_login.php 파일이 실행되면 3행에 의해 userid 쿠기가 실행되고, 6행에 의해 cookie_page.php로 페이지가 이동됩니다.
이번에는 cookie_page.php의 3행 $_COOKIE["userid"]는 'hong123'의 값을 가지기 때문에 6행의 문장이 수행됩니다. 따라사 다음 실행 결과에서와 같이 '로그아웃' 글자가 화면에 나타납니다.
쿠키로 로그아웃 처리하기

위 실행 결과에서 '로그아웃' 글자를 클릭하면 cookie_page.php의 6행에 의해 cookie_logout.php 페이지에 이동합니다.
06/cookie_logout.php
<?php
// 쿠키 삭제
setcookie("userid", "", time() - 3600); // 03
echo "<script> // 05
location.href ='cookie_page.php';
</script>"; // 07
?>
03 setcookie() 함수를 이용하여 userid 쿠키를 삭제합니다.
05~07 자바스크립트 location.href를 이용하여 cookie_page.php로 페이지를 이동시킵니다.
userid 쿠키가 삭제되었기 때문에 cookie_page.php의 3행 $_COOKIE["userid"]는 널("") 값을 가지기 때문에 다음 그림에서와 같이 '로그인' 글자가 화면에 출력됩니다.

위 예제들에서와 같이 쿠키 설정, 쿠키 삭제, 쿠키 값 체크 등을 통하여 웹 페이지에서 로그인 상태인지 판별함으로써 로그인 처리를 할 수 있게 됩니다.