Tenho um sistema do qual preciso que se o usuário ficar muito tempo ocioso no site, ele será redirecionado para a página inicial e mudará o status no banco de dados para Inativo. Testei o seguinte código:
Ao se logar, crio uma sessão:
$_SESSION["TempoSessao"] = time() + 900;
Depois crio um módulo de segurança e coloco no topo das páginas:
Pergunta
MTavares
Bom dia colegas. Feliz Páscoa para todos.
Tenho um sistema do qual preciso que se o usuário ficar muito tempo ocioso no site, ele será redirecionado para a página inicial e mudará o status no banco de dados para Inativo. Testei o seguinte código:
Ao se logar, crio uma sessão:
Depois crio um módulo de segurança e coloco no topo das páginas:
if(isset($_SESSION["TempoSessao"])) { // if ($_SESSION["TempoSessao"] < (time() - $tempoSessao)) { if ($_SESSION["TempoSessao"] < time()) { // if (time() - $_SESSION["TempoSessao"] > $tempoSessao) { $sql = mysqli_query($conexao, "UPDATE acessos SET Ativo = 'N' WHERE IdUsuarios = '".$_SESSION['IdUsuarios']."'"); // session_unset(); $_SESSION['logado'] = false; unset($_SESSION['logado']); unset($_SESSION["IdUsuarios"]); unset($_SESSION["IdCodUsuarios"]); echo "<script>alert('Sua sessão expirou'); window.location.href='../index.php';</script>"; } else { $_SESSION["TempoSessao"] = time() + 900; } } else { //session_unset(); $_SESSION['logado'] = false; unset($_SESSION['logado']); unset($_SESSION["IdUsuarios"]); unset($_SESSION["IdCodUsuarios"]); echo "<script>window.location.href='../index.php';</script>"; }Ok..... o que ocorre é quando o usuário está usando o site, ele expira de qualquer forma, ou seja, ele não está ocioso. Alguém teria alguma ideia?
Obrigado.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.