Mysql
 sql >> Database >  >> RDS >> Mysql

Come aggiornare automaticamente il database dopo la scadenza della sessione senza aggiornare la mia pagina

L'opzione migliore è non usare un flag attivo/non attivo nel database, ma piuttosto usare qualcosa come un last_active timestamp. Quando l'utente accede a una pagina, aggiorna il timestamp a CURRENT_TIMESTAMP() . E per determinare se l'utente è attualmente attivo, interroga WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())

Assicurati di impostare active_timestamp come DATETIME digitare nella struttura della tabella. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username' )

Il problema qui è che il tuo script sembra voler espellere l'utente quando la sessione è inattiva. Per questo, dovresti guardare JavaScript, impostare un timer che conta alla rovescia su 1 ora e, se non c'è attività, reindirizzare la pagina.