페이지별 카운터를 만들고있는데 도와주세요 ㅠㅠ

페이지별 카운터를 만들고있는데 도와주세요 ㅠㅠ

QA

페이지별 카운터를 만들고있는데 도와주세요 ㅠㅠ

답변 2

본문

http://sir.kr/g4_tiptech/20189?sfl=wr_subject%7C%7Cwr_content&stx=%ED%8E%98%EC%9D%B4%EC%A7%80%EB%B3%84 

 

이 팁을 참조해서 만들고있는데 카운터가 1에서 올라가질않네요..ㅠㅠ

 

다른아이디로 들어가도 올라가질않아요.. 뭐가문젠지..ㅠㅠ

 

아 그리고

새로고침할때마다 올라가게끔 어떻게 하나요..?

이 질문에 댓글 쓰기 :

답변 2

일단은 다른 아이디로 접속해도 안되는게 당연하고요

이유는 로직자체가 아이피로 체크를 하기때문입니다.

아이디가 바뀌어도 접속 아이피는 동일하기때문에

같은것으로 판단하여 카운트가 1만 올라가는것이고요

일단 정상적으로 작동하게 코드는 완성하신것같습니다.

새로고침할때마다 +1씩 계속 증가되면 되는거죠??

 

if(!strstr($pagecnt[ip_list], "/".$_SERVER[REMOTE_ADDR]."/")) { 
  if($pagecnt) sql_query("update `pagecnt` set cnt=cnt+1, ip_list=CONCAT(ip_list, '$_SERVER[REMOTE_ADDR]/') where date='$g4[time_ymd]' and page='$_SERVER[PHP_SELF]'"); 
  else sql_query("insert into `pagecnt` set cnt=1, ip_list='/$_SERVER[REMOTE_ADDR]/', date='$g4[time_ymd]', page='$_SERVER[PHP_SELF]'"); 
 

 

이렇게 if로 시작하죠?

괄호}가 닫기는 부분에 else 추가해서 +1해주시면 되겟네요


if(!strstr($pagecnt[ip_list], "/".$_SERVER[REMOTE_ADDR]."/")) { 
  if($pagecnt) sql_query("update `pagecnt` set cnt=cnt+1, ip_list=CONCAT(ip_list, '$_SERVER[REMOTE_ADDR]/') where date='$g4[time_ymd]' and page='$_SERVER[PHP_SELF]'"); 
  else sql_query("insert into `pagecnt` set cnt=1, ip_list='/$_SERVER[REMOTE_ADDR]/', date='$g4[time_ymd]', page='$_SERVER[PHP_SELF]'"); 
}else{//ip중복이라면 실행코드

   if($pagecnt) sql_query("update `pagecnt` set cnt=cnt+1, ip_list=CONCAT(ip_list, '$_SERVER[REMOTE_ADDR]/') where date='$g4[time_ymd]' and page='$_SERVER[PHP_SELF]'"); 

  else sql_query("insert into `pagecnt` set cnt=1, ip_list='/$_SERVER[REMOTE_ADDR]/', date='$g4[time_ymd]', page='$_SERVER[PHP_SELF]'");

}

 

테스트는 안해봣는데 대략 이런식으로 구성하면


if(아이피중복일때){

 기존소스실행되고

}else{//아이피중복이지만 실행

 기존추가 쿼리문실행

}


아주 쉽게 생각을 하시느것이 좋을 듯합니다

 

기능 작동하는 소스야 많지만 

 

그걸 새로고친할때마다 올라가게 이런 조건으로 한다면

 

소스 상단에 update `pagecnt` set cnt=cnt+1 하면 될는거고

 

문제는 where 문구인데 날자나 페이지정보 등의 동적 키로 조건을 잡지마시고

 

페이지별 키를 만드세요 

 

좀 부연설명을 하자면 게시판에 저장 table의 필드를 보면 여러가지 필드가잇는데 


구지  

wr_id int(11) 아니오 auto_increment

이런식으로 변하지 안 는 필드를 두는 것이 그이유입니다

 

즐거운 하루되세요

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 102
© SIRSOFT
현재 페이지 제일 처음으로