테스트 사이트 - 개발 중인 베타 버전입니다

php 초간단 카운터 질문드려요! 채택완료

그누초보님 11년 전 조회 9,059
<?php
$data = file("c01.txt");
$count = trim($data[0]);
$inc_count = $count + 1;
$fp = fopen("c01.txt", "w"); #
fwrite($fp, $inc_count);
fclose($fp);
echo "$count";
?>
소스가 이건데요 이 소스는 새로고침하면 계속 카운팅이 증가되는데
동일pc에서 새로고침하면 1회만 카운팅 되게 할수 있을까요?
 
매번 그누 능력자님들께 감사드리고 있습니다.
 
저도 무럭무럭 자라서 누군가에게 배풀수있는 사람이 되도록 노력하겠습니다^^
 
 
 
댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
11년 전
$Aday_IP = $_SERVER['REMOTE_ADDR'];
//$Aday_wr_id = $wr_id // 뷰페이지 마다 카운터를 원하시면 주석 제거
setcookie("Aday_cookie_{$Aday_IP}","$g4[time_ymd]", time()+60*60*24*1 , "/"); // 1일동안 저장
//setcookie("Aday_cookie_{$Aday_IP}[{$Aday_wr_id}]","$g4[time_ymd]", time()+60*60*24*1 , "/"); // 뷰페이지 마다 카운터를 원하시면 이거 사용
if ( 0 = count($_COOKIE["Aday_cookie_{$Aday_IP}"])) {
$data = file("c01.txt");
$count = trim($data[0]);
$inc_count = $count + 1;
$fp = fopen("c01.txt", "w"); #
fwrite($fp, $inc_count);
fclose($fp);
echo "$count";
}
 
이렇게 하면 될거 같네요... 쿠키 부분이 좀 어색한거 같지만요
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그누초보님
11년 전
Parse error: syntax error, unexpected '=' in /home/hosting_users/cleanwe02/www/c01.php on line 6

이런 에러가 출력됩니다 ㅠㅠ
권한도 777로 줬는데요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

11년 전
DB 사용하시거나, 세션파일 하나 생성하심이.
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

11년 전
당연히 초간단으로 하니까 그렇죠.
파일에 아이피도 저장하고 날짜도 저장해요
그래서 그 아이피와 날짜 읽어서
하루에 한번만 증가하게 하면 되요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

그누초보님
11년 전
그걸 몰라서 웁니다.ㅠㅠ

검색중에 쿠키를 사용해서 하는 간단한 소스를 본것 같은데
IE 자폭때문에 창이 모두 닫혀버렸어요...

아. 어디였지 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인