Ciao,
visto come funziona il protocollo http è un po' difficile avere esattezza...
ragionando lato-server potresti leggere il tempo trascorso tra una request e l'altra, però non potrai mai avere la certeza che l'utente nel frattempo non si andato su un altro sito o abbia chiuso il client.
Quindi dovrai decidere che dopo un tot la sessione di navigazione è terminata
http://forum.html.it/forum/showthrea...hreadid=701748

Se decidi di usare javascript, dovresti fare in modo di inviare all'unload dei dati a php. Avrai più precisione, ma javascript è javascript....è si sa che molto dipende dal browser.
In ogni caso all'unload il browser è chiuso quindi non puoi inviare direttamente dati da quella finestra: su pro.html.it trovi un articolo che spiega come farlo utilizzando una pop-up