io salvarei nel db (in un campo della tabella degli utenti magari) il timestamp dell'ultimo accesso.
riguardo l'aggiornamento, direi proprio di farlo ogni pagina. ti prepari una funzione aggiornaUltimaVisita($idutente) che va a modificare il db, e la inserisci in ogni pagina; oppure se usi già una funzione per verificare il login (e cose del genere) puoi modificarla così non devi nemmeno modificare tutte le pagine del sito

(scusa se non sono stato chiarissimo)