방문자 카운터 질문
본문
<?php
if ( !file_exists ( "count.txt") )
{
$fp = fopen("count.txt", "w+") ;
fclose($fp) ;
}
$count = file("count.txt") ;
$count[0] = chop($count[0]) ;
$countdata = split("::", $count[0]);
$date = $countdata[0];
$daycount = (int)$countdata[1];
$counta = (int)$countdata[2];
$today = date("Y-m-d");
if ( !$_COOKIE["ip"] ){//쿠키가 없으면
if($date == $today){//오늘 날짜와 txt의 날짜를 비교하고 같으면
$daycount++ ;// countday를 1 올린다.
} else {//다르면
$date = $today;//date를 오늘 날짜로 바꾼다.
$daycount = 1 ;//daycount를 1로 한다.
}
$counta++ ;
$fp = fopen("count.txt", "w") ;
fwrite($fp, "$date::$daycount::$counta") ;
fclose($fp) ;
SetCookie("ip", $REMOTE_ADDR, time() + 86400) ;//쿠키를 추가한다
}
?>
이런 코드가 있는데요 새로고침하면 막 그냥 올라가네요
혹시 재방문은 카운트 안되게 할 수도 있나요?
답변 1
쿠키가 없을때만 카운트 되도록 제작된거 같은데 오작동하는 모양이네요
SetCookie를 통해 쿠키가 정상적으로 생성되는지 확인해보세요
// print_r로 쿠키 데이터를 확인해보세요
print_r($_COOKIE);
if ( !$_COOKIE["ip"] ){//쿠키가 없으면
// 쿠키확인
F12 -> Application -> Cookies -> url 을 선택합니다.
해당 웹사이트의 쿠키 리스트(파란네모영역)를 확인할 수 있습니다.