Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vagnerC

Verificar se existe a sessão.

Recommended Posts

Boa Tarde pessoas,

 

Estou com a seguinte dificuldade:

 

Tenho um formulário, para acessar este formulário o usuário tem que estar logado no sistema, os dados do usuário ficam salvos em uma sessão.

As vezes o que acontece é: o usuário fica muito tempo sem usar o sistema e a sessão é perdida.

 

Ai ele salva os dados e o nome dele não aparece no banco, devido a falta de sessão.

 

Gostaria de sempre verificar se existe a sessão, caso não existe o usuário será remetido para a tela de login. Mas esta verificação tem que ser automatica, e caso existe a sessão tem que manter os dados do formulário.

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando voce inicia a session você deve estar tambem usando uma variavel de sessao, exemplo: $_SESSION['user'] ou alguma outra que voce usa para testar se o cara estar logado.

 

No começo do teu codigo voce bota:

 

<?php
if (empty($_SESSION['user']))
header('Location: acesso.php?acao=Logout');
?>

<?php
//Aqui voce vai dar unset nas variaveis da sessao por garantia, seria a mesma pagina que você utiliza para fazer logout.
?>

 

Atenção você nao pode ter nenhuma saida antes do codigo 'header'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faço assim:

 

if (!isset($_SESSION['cursando']))
{
header("Location: index.php");   
}

 

Mas não é bem isso que eu gostaria, gostaria que de tempo em tempo ele verificasse se existe a sessão, entende?

Tipo: de 20 em 20 minutos, o programa verificar se a sessão está ativa, caso não ir para a tela do LOGIN.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso você faz com Cookies, delimita um tempo para ele.

Quando o tempo acabar, ao entrar na página irá ir para tela de login.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu fizer com cookies ao dar o tempo ele vai remeter para a tela do LOGIN, mas eu quero que ele só remeta caso não exista a seção, devido a falta de interação do usuário.

 

Tipo:

O usuário saiu do PC por 20 minutos, ao voltar para o computador a mensagem deverá ser algo do tipo: Você ficou muito tempo sem utilizar o 'sistema', faço o LOGIN novamente. Essa mensagem e o redirecionamento terá que ser automático.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, o usuário se loga e acessa a tela do formulário, então se afasta do computador deixa a tela lá, parada. Nesse meio tempo a sessão expira porém a tela permanece exibindo o formulário.

 

Aí o usuário volta, preenche o formulário, mas quando envia, as informações não são gravadas pois a sessão expirou, e o usuário perde tudo que foi digitado.

 

Bem,

Ser for essa a situação, a solução pode estar em um contador javascript que redirecione para a página de login após X segundos sem atividade (atividade como um evento onClick, por exemplo). E a cada atividade, o contador é zerado.

 

Dessa forma,

Ao se afastar do computador, o usuário se depara com a tela de login após o período determinado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que verificar se a sessão existe antes de enviar os dados para o banco.

 

if(isset($_SESSION["sessao"])) {
     envia os dados...
}
else {
     manda para a página de login..
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.