728x90

우리가 앞선 강좌에서 선택한 것은(사실은 제가 선택했지요..^^) 쿠키였습니다. 자 그러면 이제 쿠키로 카운터를 만들어야 할터인데 카운터에 왜 쿠키가 필요한지는 알아야겠죠?


카운터는 홈페이지를 방문한 사용자의 수가 정확히 얼마나 되는가를 알고 싶은게 목적입니다. 대개 카운터는 메인페이지에 넣기 마련인데 (물론 프레임등을 이용하여 항상 보이는 곳에 두기도 합니다.) 만약 메인페이지를 브라우저에서 불러 들일때마다 카운터가 하나씩 증가한다면 엽기적인 방문자(메인페이지에서 F5를 마구 눌러대는 사람)나 수시로 메인페이지로 가는 Home 버튼을 누르는 사람들에게 걸리면 실질적인 방문자가 10명임에도 하루방문자가 100에서 심하게는 1000까지 이르는걸로 나오게 됩니다.
이래서는 안되겠지요? 물론 홈지기를 다소 흥분시키기에는 충분하지만요..

이를 방지하기 위해서 방문자가 홈페이지에 접속해서 구석 구석을 구경하는 동안은 카운터가 안올라가게 해야한다는 생각을 누군가가 가지게 되었습니다. 그 사람은 고민을 했겠죠. 어느 순간 그 사람의 머리에 "쿠키"란 단어가 떠올랐을 겁니다. 쿠키는 브라우저를 닫거나 일부러 삭제하지 않으면 안없어지니까요.

방문자가 홈페이지에 접속하면 쿠키를 손에다 쥐어주고 카운터를 하나 올립니다. 방문자가 다시 Home 버튼을 누르거나 F5(새로고침) 버튼을 누르면 쿠키를 가지고 있는지 확인을 해서 쿠키를 가지고 있으면 카운터를 무시하고 쿠키가 없으면 새로 접속한
사람으로 인식하고 새로 카운터를 올립니다. 이게 바로 쿠키를 이용한 카운터의 원리입니다.

그럼 쿠키가 어떻게 생겼는지 한번 볼까요?


SetCookie ("쿠키이름", "쿠키값");

쿠키의 모양은 대충 이렇습니다. (실은 가장 간단한 쿠키의 모양입니다.) 그럼 실제로 우리가 카운터에서 쓰게될 진짜 모습을 구경해 봅시다.

SetCookie("ip",$REMOTE_ADDR);

크헉.. 처음부터 모르는게 나와서 당황스러우시죠? 자 그럼 하나씩 알아봅시다. 위에서 보듯이
쿠키이름 = ip -> 변수
쿠키값 = $REMOTE_ADDR -> 변수값
입니다.

변수의 모양은 많이 보셨죠? 다들 아시다시피 변수는 $로 시작합니다. 따라서 $ip에는 $REMOTE_ADDR 이라는 값이 들어가게 됩니다. 그럼 도대체 $REMOTE_ADDR은 뭔가하는 궁금증이 자연스레 생기게 됩니다. $REMOTE_ADDR은 방문자의 IP Address를 알려주는 환경변수같은 겁니다. 제 IP가 211.45.255.123 이라면 echo $ip 의 결과는 211.45.255.123 이 나오게 됩니다. 쿠키에 꼭 IP 주소값을 넣을 필요는 없습니다.
728x90
복사했습니다!