2012-07-16 5 views
1

브라우저 닫기 문제와 관련된 몇 가지 쿼리가 있습니다.브라우저가 닫을 때. 브라우저가 PHP에서 닫힐 때 sqlk 쿼리를 실행하는 방법

xcart를 사용하고 있습니다. 사용자가 웹 사이트에 로그인하면 모든 상황 브라우저가 닫히고 세션이 파기됩니다. 또한 사용자 상태에 대한 SQL 쿼리를 실행하면 오프라인 상태가됩니다.

$time = date('Y-m-d H:i:s', strtotime('now -15 minutes')); 
$sql = "UPDATE users SET status = 'offline' WHERE last_activity < '{$time}'"; 

이것은 다음 사이트에 포함될 수 :

감사합니다, 마니 파텔

+0

가능한 중복을 기록하는 열 (타임 스탬프 여기 좋을 것이다)을 필요 [브라우저를 닫을 때 자동으로 사용자가 로그 아웃하는 방법? (http://stackoverflow.com/questions/ 10116292/자동 로그 아웃 방법 - 사용자가 브라우저를 닫을 때) – Quentin

답변

1

사용자의 상태를 업데이트하는 코드는 다음의 라인을 따라 파일, 뭔가를 포함로 이동 될 수 있습니다 예를 들어 홈 페이지이고 실제로 온라인에있는 사람과는 독립적입니다.

당신은 분명히 자신의 활동을의

+0

이것은 안정된 트래픽 흐름이있는 경우에만 작동합니다. 너무 많아도 데이터베이스에 과도한 쓰기가 발생합니다. ['crontab'] (http://linux.die.net/man/5/crontab)을 사용하는 것이 훨씬 더 안정적입니다. – Martin

+0

다음 번에 한 사람이 방문 할 때 데이터베이스를 업데이트하고 모든 사람을 오프라인으로 설정하면 트래픽 양에 관계가 없습니다. 무거운 하중 사이트 인 경우 crontab을 사용하는 것이 더 좋을 수 있지만, 그렇지 않으면 cron 작업 자체가 추가 오버 헤드를 유발합니다. 언제나 다른 요구와 결코 한 가지 방법으로 모든 것을 충족시킵니다. – Dale

+0

당신은 데이터베이스를 읽는 유일한 엔티티가 웹 사이트라고 가정하고 있습니다. 그리고 몇 분마다 하나의 쿼리가 anyones books의 '여분의 오버 헤드'로 간주되지 않을 것이라고 확신합니다.) – Martin

관련 문제