Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como atualizar o banco de dados automaticamente após a sessão expirar sem atualizar na minha página


A melhor opção é não usar um sinalizador ativo/não ativo no banco de dados, mas usar algo como um last_active carimbo de data/hora. Quando o usuário acessar uma página, atualize o timestamp para CURRENT_TIMESTAMP() . E para determinar se o usuário está ativo no momento, consulte WHERE active_timestamp < TIMESTAMPADD(MINUTE, -60, CURRENT_TIMESTAMP())

Certifique-se de definir active_timestamp como DATETIME digite na estrutura da tabela. (ALTER TABLE users ADD COLUMN active_timestamp datetime AFTER username' )

O problema aqui é que seu script parece querer expulsar o usuário quando a sessão está ociosa. Para isso, você deve olhar para o JavaScript, definir um cronômetro que faça uma contagem regressiva de mais de 1 hora e se não houver atividade, redirecione a página.