2013-04-17 2 views
0

사용자가 내 웹 사이트에서 보낸 시간을 추적하고자합니다. 나는 그것이 10-15 % 떨어져있을 수있는 초에 이르기까지 너무 걱정하지 않는다. 그리고 나는 견적을 더 원한다. 사용자가 로그인하면 세션을 사용하여 초를 추적하는 세션 변수가 생성됩니다. $_SERVER['REQUEST_TIME'];을 사용하면 이전 페이지에서이 페이지로 이동할 때 선언 된 시간의 차이를 확인할 수 있습니다.방문자가 웹 사이트에서 보낸 시간을 추적하십시오.

사용자가 사이트에서 10 분을 소비 한 다음 브라우저를 닫으면 문제가 발생합니다. 세션 변수는 만기 된 후 손실됩니다. 이 변수를 데이터베이스로 업데이트하는 방법이 필요합니다. 모든 페이지 클릭 후마다 값을 업데이트하는 것이 SQL 업데이트 쿼리의 과도한 양처럼 보입니다.이 때문에 자바 스크립트와 아약스를 사용하고 싶지 않았습니다.

세션 변수를 만료시 저장하는 방법이 있습니까? 따라서 $_SESSION['timeonline']이 만료되면 데이터베이스에 업데이트하십시오.

+0

http://www.google.com/analytics를 사용하지 않는 이유는 무엇입니까? – Osiris

+0

은 analytics가 일반적으로 전체 사이트에 대해서만 로그인 한 개별 사용자에 대한 추적을 제공하지 않기 때문에 필자는 이미 애널리틱스를 설정 했으므로 애초에이 작업을 수행하게되었습니다. –

답변

0

몇 초마다 "핑 (ping)"이외의 PHP 백엔드와 관련된 솔루션을 찾을 수 있을지 의심 스럽습니다. 그리고 당신이 말했듯이, 이것은 나쁘고 여전히 100 % 일하지 않습니다.

왜 바퀴를 다시 태어납니다. 추적 도구를 사용하십시오. PIWIK는 오픈 소스이며 쉽게 설정할 수 있습니다. '웹 사이트에서 보낸 시간'을 포함하여 모든 추적 도구에서 수행하는 작업을 수행합니다. 10 분 동안 아무 활동도하지 않으면 bworser를 닫는 방문자는 아마 바로 거기에서도 추적되지 않을 것입니다.

http://piwik.org/

관련 문제