2011-09-04 4 views
1

내 웹 사이트를위한 Who 's Online 스크립트를 만드는 동안 동일한 컴퓨터 사용자가 다른 사용자보다 다른 브라우저 환경을 사용할 수 있음을 알았습니다.Who 's Online Script Issue

이 경우 어떻게해야합니까?

회원 수 또는 손님 수에 대한 분석과 함께 현재 온라인 상태 인 총 사용자 수를 알아보고 오늘 온라인 상태 인 사용자 수를 알아볼 필요가 있습니다. 이 사용자 중 멤버 또는 게스트 수는 몇 명입니까?

도움을 주시면 대단히 감사하겠습니다.

+0

온라인 환경에있는 사람을 세는 것과 사용자 환경 설정은 어떤 관계가 있습니까? 이미 이것에 대한 질문을 게시하고 답변을 얻었습니다. 네가 여기서 물어 보는 게 정확히 뭐야? – Mat

+0

@Mat 동일한 컴퓨터의 두 사용자가 서로 다른 브라우저 환경 설정을 사용하는 경우 총 게스트가 2 또는 1이어야합니까? – user826855

+0

다른 브라우저 환경 설정은 사용자가 게스트인지 아닌지와 어떤 관련이 있습니까? – Mat

답변

1

SQL 데이터베이스를 사용하여이 작업을 수행 할 수 있습니다. 다른 브라우저 설정은 프록시를 제외하고 차이를 만들지 않습니다.

누군가가 당신의 웹 사이트를 열 때마다, 자신의 IP 주소를 얻을이 구조 테이블에 삽입하십시오 IP는 먼저 데이터베이스에 이미

(varchar)ip, (int)time 

확인 경우 그런 경우가 있다면, 바로 갱신 현재 시간을 가진 시간. 시간 < = 300 (온라인 - - 지난 5 분 안에 사이트를 방문한)

time(); 

는 현재 시간이 어디 그냥 테이블에서 선택 온라인 사용자 수를 얻을 수 있습니다. 사용자인지 확인하려면 ip가 계정의 IP 주소와 일치하는지 확인하십시오. 멤버의 IP 주소를 저장하지 않으면 시간이 될 것입니다. 로그인 할 때마다 IP 주소를 업데이트하면됩니다. 당신이 자정에 재설정 '온라인 오늘 카운터를 원하는 경우 < = 86400 (24 시간)

, 생성 시간 -

어디에 현재 시간 그 테이블에서 선택 오늘은 당신의 웹 사이트를 방문한 사람의 수를 얻으려면 사용자가 웹 사이트를 방문한 날짜 (시간 없음)를 저장하는 테이블의 다른 열. 그런 다음 오늘 날짜인지 확인하거나 매일 모든 레코드를 삭제합니다.

1

PHP PHP SESSIONS에서 사용 세션, 그리고 그 다음에 세션 데이터를 기록 예를 들어 로그인 사용자의 키 손님을위한 guestmembers 세션을 만들 수 있습니다.

을, 당신, 데이타베이스에 세션 데이터를 기록하여 데이터베이스에 중복 항목이 생기지 않도록 고유 한 세션 키를 만드십시오.

그러나 조금 더 마음을 쓰면 다른 브라우저에서 같은 사용자의 중복 항목을 중지 할 수 있습니다.

또한 IP를 데이터베이스에 씁니다.