페이지별 카운터를 만들고있는데 도와주세요 ㅠㅠ 채택완료
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">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의 필드를 보면 여러가지 필드가잇는데
구지
| int(11) | 아니오 | auto_increment |
이런식으로 변하지 안 는 필드를 두는 것이 그이유입니다
즐거운 하루되세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인