접속자현황에서 ip체크안하고 새로고침시에도 접속자 카운터 증가하게 하는법... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

접속자현황에서 ip체크안하고 새로고침시에도 접속자 카운터 증가하게 하는법... 정보

접속자현황에서 ip체크안하고 새로고침시에도 접속자 카운터 증가하게 하는법...

본문

접속시마다 카운터 증가하게 하는법 좀 알려주세요

댓글 전체

bbs/visit_insert.inc.php 파일을 아래 내용으로 수정해주세요.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

$tmp_row = sql_fetch(" select max(vi_id) as max_vi_id from $g4[visit_table] ");
$vi_id = $tmp_row[max_vi_id] + 1;

$sql = " insert $g4[visit_table] ( vi_id, vi_ip, vi_date, vi_time, vi_referer, vi_agent ) values ( '$vi_id', '$_SERVER[REMOTE_ADDR]', '$g4[time_ymd]', '$g4[time_his]', '$_SERVER[HTTP_REFERER]', '$_SERVER[HTTP_USER_AGENT]' ) ";
$result = sql_query($sql, FALSE);
// 정상으로 INSERT 되었다면 방문자 합계에 반영
if ($result) {
    $sql = " insert $g4[visit_sum_table] ( vs_count, vs_date) values ( 1, '$g4[time_ymd]' ) ";
    $result = sql_query($sql, FALSE);
       
    // DUPLICATE 오류가 발생한다면 이미 날짜별 행이 생성되었으므로 UPDATE 실행
    if (!$result) {
        $sql = " update $g4[visit_sum_table] set vs_count = vs_count + 1 where vs_date = '$g4[time_ymd]' ";
        $result = sql_query($sql);
    }

    // INSERT, UPDATE 된건이 있다면 기본환경설정 테이블에 저장
    // 방문객 접속시마다 따로 쿼리를 하지 않기 위함 (엄청난 쿼리를 줄임 ^^)

    // 오늘
    $sql = " select vs_count as cnt from $g4[visit_sum_table] where vs_date = '$g4[time_ymd]' ";
    $row = sql_fetch($sql);
    $vi_today = $row[cnt];

    // 어제
    $sql = " select vs_count as cnt from $g4[visit_sum_table] where vs_date = DATE_SUB('$g4[time_ymd]', INTERVAL 1 DAY) ";
    $row = sql_fetch($sql);
    $vi_yesterday = $row[cnt];

    // 최대
    $sql = " select max(vs_count) as cnt from $g4[visit_sum_table] ";
    $row = sql_fetch($sql);
    $vi_max = $row[cnt];

    // 전체
    //$sql = " select count(*) as cnt from $g4[visit_table] ";
    $sql = " select sum(vs_count) as total from $g4[visit_sum_table] ";
    $row = sql_fetch($sql);
    $vi_sum = $row[total];

    $visit = "오늘:$vi_today,어제:$vi_yesterday,최대:$vi_max,전체:$vi_sum";

    // 기본설정 테이블에 방문자수를 기록한 후
    // 방문자수 테이블을 읽지 않고 출력한다.
    // 쿼리의 수를 상당부분 줄임
    sql_query(" update $g4[config_table] set cf_visit = '$visit' ");
}
?>
위와같이 하면 로그인 안한사람에 대해 브라우저를 새로 띄웠을때만 카운트가 되네요~
로그인 한사람도 상관없이 카운트 되고, 브라우저를 새로 띄울필요 없이 리프레시만으로 카운터를 올릴수는 있는 방법은 어떻게 되나요?
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT