조회수, 링크수 등 1일 1ip당 1회만 증가하는 방법이 있을까요? > 그누4 질문답변

그누4 질문답변

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

조회수, 링크수 등 1일 1ip당 1회만 증가하는 방법이 있을까요? 정보

조회수, 링크수 등 1일 1ip당 1회만 증가하는 방법이 있을까요?

본문

조회수나 링크수에 따른
랭킹(순위)게시판을 구현하기 위해서
열심히 만들어보고있는데요.

현재 그누보드의 조회수는 브라우저가 완전히 닫히고 새로열리면 hit 수가 증가하게되어있습니다.
+++이는 방문자에따라 랭킹 조작이 가능하여 의미가 사라지게 됩니다.

----------------------------------------------------------------------------------
    // 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
    $ss_name = "ss_view_{$bo_table}_{$wr_id}";
    if (!get_session($ss_name))
    {
        sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
----------------------------------------------------------------------------------
현재는 위와같은 쿼리로 처리되고있습니다.

이를 제목과 같이 1ip당 1회만 증가하는 방법으로 변경하고 싶은데요,

쿠키나 세션으로 하는방법은 세션삭제시 다시 힛트수를 증가시킬수 있다고 어디서 들은것 같아요.

이를구현하려면 대략적으로
->방문자 특정게시물 조회
->별도의 필드에 조회한 사람의 ip값을 비교
->동일IP없을경우 저장 hit 1 증가
->동일IP있을경우->hit 증가 없음

이런식으로 구현해야 할까요?...
완전초보인지라 이게 맞는건지도 모르겠네요 ㅡㅜ

소스나 힌트좀 주시면 감사하겠습니다. 꾸뻑~

댓글 전체

여러가지 방법이 있겠지만 ..

db에 대략 한 3개의 필드를 준비하세요.
ip,section(분류:list or view or main or _SERVER["PHP_SELF"]),regdate(YmdHis)

row = select `ip` from `table` where ip = $_SERVER[REMOTE_ADDR] limit 1

if row[ip]!="" {//작업없음}else{// hit ++}

그리고 db 너무 많이 쌓이게 되므로 delete from 'table' where regdate < (date(YmdHis)-10)

대충 요런감으로 하시면 될듯...
전체 18 |RSS
그누4 질문답변 내용 검색

회원로그인

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