Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment mettre à jour la base de données automatiquement après l'expiration de la session sans actualiser ma page

La meilleure option est de ne pas utiliser un indicateur actif/non actif dans la base de données, mais plutôt d'utiliser quelque chose comme un last_active horodatage. Lorsque l'utilisateur accède à une page, mettez à jour l'horodatage sur CURRENT_TIMESTAMP() . Et pour déterminer si l'utilisateur est actuellement actif, interrogez WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())

Assurez-vous de définir active_timestamp en tant que DATETIME tapez dans la structure du tableau. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username' )

Le problème ici est que votre script semble vouloir expulser l'utilisateur lorsque la session est inactive. Pour cela, vous devez regarder JavaScript, définir une minuterie qui compte à rebours sur 1 heure et s'il n'y a pas d'activité, rediriger la page.