티스토리 뷰

Language/PHP

방문자 카운트 만들기

MiniNeko 2015. 11. 29. 03:47

<?
     if(file_exists("count.txt")) {
          $count = file("count.txt");
          $count = chop($count[0]);
          // 기존에 count 라는 화일이 있으면
          // count.txt 에 기록된 정보를 읽어온다
     } else {
          $count = 1;
          // 없으면 일단 처음 방문이므로 $count = 1 로 지정한다
     }
 
     if(!$ip) {
          // 처음 방문했으면 (!$ip) 방문수 count 를 올려준다
          $count++;
          $fp = fopen("count.txt","w");
 
          fwrite($fp, "$count");    // 화일을 열어서 증가된 count를 써준다
          fclose($fp);
     }
 
     $text = $count;
     $fp = fopen("count.txt", "w");
     fwrite($fp,$text);
     fclose($fp);
 
     SetCookie("ip", $REMOTE_ADDR);
     // 여기선 IP 로 쿠키를 설정 방문자를 체크한다
     // 한번 방문했으면 저 ip 가 쿠키로 되어있겠지만
     // SeCookie("ip", $REMOTE_ADDR,0,"/");
     echo "$count";
?>
 
====================================================================================================
 
< ?
// 오늘 방문자수 출력
$today = date("Y-m-d"); // 오늘 날짜를 변수로 저장

$result = mysql_query("select * from table where date=`$today`"); // 오늘 방문자수를 검색
$row = mysql_num_rows($result); // 오늘 방문자수를 계산

echo "오늘 방문자수: {$row}<?=$row?>명";
?>


위와 같은 DB카운터를 만드실려면 기본적으로 DB설계는 아래와 같은 칼럼을 가지고 있어야 할겁니다

create table counter(
uid int(10) not null auto_increment, // 고유번호
date date not null, // 방문한 날짜 예) 2006-12-25 식으루 저장
ip varchar(20) not null, // 접속자 아이피주소
premary_key(uid)
);


아이피 주소 칼럼이 있어야 중복 방문자에 의한 
카운터 증가를 방지할 수 있습니다

====================================================================================================
 
< ?
     session_register("USERIP");
     if($USERIP != $_SERVER[REMOTE_ADDR]) {
          $USERIP = $_SERVER[REMOTE_ADDR];
          // 방문자 카운트
          include $_SERVER[DOCUMENT_ROOT]."/BBS/include/dbconn.inc";
          $query="INSERT INTO visitCount SET 
               userip=`$_SERVER[REMOTE_ADDR]`,
               regdate=now()
          ";
          $result=mysql_query($query);
     }
?>
 
----------
 
< ?
     include $_SERVER[DOCUMENT_ROOT]."/BBS/include/dbconn.inc";
     $query = "SELECT * from visitCount";
     $result = mysql_query($query);
     $rowData = mysql_num_rows($result);
?>
TOTAL : <?=$rowData?><br />
< ?
     $today = date("Y-m-d");
     $query = "SELECT * from visitCount WHERE regdate=`$today`";
     $result = mysql_query($query);
     $rowData = mysql_num_rows($result);
?>
TODAY : <?=$rowData?> 

'Language > PHP' 카테고리의 다른 글

img - image 이미지 크기 구하기 - GetImageSize()  (0) 2015.11.29
XML 참조  (0) 2015.11.29
현제페이지 주소 알아내기  (0) 2015.11.29
달력  (0) 2015.11.29
session 세션에서 시작, 변수등록, 변수삭제, 부수기  (0) 2015.11.29
Total
Today
Yesterday
최근에 올라온 글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31