2012-05-03 5 views
1

내 페이지 URL에는 3 개의 변수가 있습니다. id = N, num = N 및 item = N; N = 1,100입니다. 정수 및 URL 예 :쿠키. 중복 된 페이지 방문을 계산하려면 어떻게해야합니까?

page.php?id=1&num=24&item=12 

중복이없는 방문을 계산하고 싶습니다. 어떻게 작동해야한다고 생각하십니까?

쿠키가있는 경우 데이터베이스에 새 값을 추가하지 마십시오. 그렇지 않으면 쿠키를 설정하고 데이터베이스에서 값을 증가시킵니다.

page.php?id=1&num=24&item=12&page=0#topView 

내가 쿼리 할 수 ​​없습니다 : 경로가 다른 때

$_COOKIE['product[id]'] = $_GET['id']; 
$_COOKIE['product[num]'] = $_GET['num']; 
$_COOKIE['product[item]'] = $_GET['item']; 

이 문제는 출연 : 페이지를 방문한 경우

나는 식별 달러 (A $)의 _COOKIE의 [ ''] 배열을 사용 사람이 페이지에 액세스 할 때마다 데이터베이스는 1000 개 이상의 고유 한 방문이 있기 때문에 데이터베이스에 저장됩니다.

내 질문은 : 각 페이지 방문마다 고유 모드로 계산하려면 어떻게해야합니까?

참고 :

page.php?id=1&num=24&item=12 

또는

page.php?id=1&num=24&item=15 

또는

page.php?id=2&num=24&item=12 

이 링크 변수에 의해 따라, 나에게 독특한 제품 정보를 제공합니다.

감사합니다.

+0

귀하의 페이지로 이동하여 page.php? id = 2 & num = 10000000 & item = 12을 입력하면 어떻게되는지 생각해 보셨습니까? :) –

+0

예, 쿼리 또는 실행 전에 공격 또는 데이터 손상을 막기 위해 필터 블록을 추가했습니다. –

+1

오 숫자의 의미를 오해했습니다. "사람이 페이지에 액세스 할 때마다 데이터베이스를 쿼리 할 수는 없습니다. 1000 + 고유 방문이 있기 때문입니다." - 네가 할 수 있을지 모르겠다. 내 의견으로는 - 당신은해야합니다. 모든 페이지 액세스 횟수를 계산하고 최종 결과를 얻으려면 ip, id, num, item별로 그룹화하십시오. 모든 데이터를 데이터베이스에 저장하면 가장 인기있는 페이지에 대한 간략한 정보를 얻을 수 있습니다.심지어 한 명의 고유 사용자가 더 많은 페이지에 액세스하고 있는지 확인하고 이유를 확인할 수 있습니다. 데이터가 많을수록 좋습니다. 그것은 당신의 데이터베이스를 많이 차지하지 않습니다. –

답변

0

내 의견은 문제를 해결하기위한 것이므로 무시해 둡니다.

"사용자가 페이지에 액세스 할 때마다 데이터베이스를 쿼리 할 수 ​​없습니다. 1000 개 이상의 순 방문수가 있기 때문에 데이터베이스에 쿼리 할 수 ​​없습니다." - 네가 할 수 있을지 모르겠다. 내 의견으로는 - 당신은해야합니다. 모든 페이지 액세스 횟수를 계산하고 최종 결과를 얻으려면 ip, id, num, item별로 그룹화하십시오. 모든 데이터를 데이터베이스에 저장하면 가장 인기있는 페이지에 대한 간략한 정보를 얻을 수 있습니다. 심지어 한 명의 고유 사용자가 더 많은 페이지에 액세스하고 있는지 확인하고 이유를 확인할 수 있습니다. 데이터가 많을수록 좋습니다. 그것은 당신의 데이터베이스를 많이 차지하지 않습니다.

최종 결정 알고리즘에 실수가 있습니다. id가 11, num이 5, item이 7이라고 가정 해 봅시다. id = 1, num = 15, item = 7 인 또 다른 요소가 있다고 가정 해 봅시다. : P 이런 식으로 넣으십시오.

md5($_GET['id'].'-'.$_GET['num'].'-'.$_GET['item']); 

그래서 정말 독특합니다.

관련 문제