Ir para conteúdo

POWERED BY:

Arquivado

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

NetBoy16

[Resolvido] Codigo para verificar inatividade no sistema e fazer

Recommended Posts

Olá pessoal, tudo bem ? eu to tendo dificuldade no controle de sessão, tipo, quando o login da certo o codigo que e ativado é esse aqui:

 

if(mysql_num_rows($result) == '0') {
           $msg = "Erro - Usuario ou Senha inválido !";
       } else {
           session_start();
           $_SESSION["login"] = mysql_fetch_assoc($result);
           header("Location: main.php");
       }

 

beleza, mas olha como ta meu codigo de controle de sessao e logout:

 

<?php
session_start();

if (!isset($_SESSION['login']) 
  || $_SESSION['login'] !== true) {

  header('Location: index.php');
  exit;
}
?>

 

<?

session_start();
session_destroy();
session_unset();

echo "<script type='text/javascript'>location.href='index.php';</script>"; 

?>

 

Só que tipo, n ta funcionando, oque tem de errado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

session_start(); deve vir antes de qualquer código que você faça no php.

Tem que ser a primeira linha do código

 

<?php session_start(); 
/* Aqui vem o seu bloco de códigos */
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas como você pode ver eu iniciei com session_start()

 

No caso do controle de inatividade, quando eu incluo ele, simplesmente nao abre a outra pagina quando lcico no link, continua na mesma.

 

Jah no caso do logout, quando clico em sair ele vai redirecionar pra index.php mas dai lah checa se ta logado, se tiver manda devota pra main.php, e ele fica fazendo isso, tipo como senão desse um destroy na session.

Compartilhar este post


Link para o post
Compartilhar em outros sites

atualizei de acordo como o Prog disse e deu certo :D

 

logout.php

 

<?

session_start();
$_SESSION['login'] = false;
session_destroy();
session_unset();

echo "<script type='text/javascript'>location.href='index.php';</script>"; 

?>

 

Agora soh falta arrumar o checaLogin.php

 

O meu checaLogin ta assim:

 

<?php
session_start();

if (!isset($_SESSION['login']) || $_SESSION['login'] !== true) {
   $msgsession = "Tempo limite da sessão esgotado !";
  header('Location: index.php');
  exit;
}
?>

 

Como adaptaria esse session_cache_expire() ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só ler o que a função faz clicando no link que postei (nome da função sublinhado).

Ta em português. Basta usar a função antes do session_start. Ao fim do tempo determinado

o cache expira e o login é solicitado novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

li lah mas nao entendi como ficaria a parte pra verificar se a session existe e dai caso nao encaminhar pro index.php, pois acredito que ele nao faca isso automaticamente neh ?

 

olha como ficou o codigo agora:

<?php
session_cache_expire();
session_start();

if (!isset($_SESSION['login']) || $_SESSION['login'] !== true) {
   $msgsession = "Tempo limite da sessão esgotado !";
  header('Location: index.php');
  exit;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então leia novamente meu querido mas desta vez com um pouquinho mais de vontade

de aprender e menos vontade de terminar seu script sem dar a minima para instrução.

No post anterior eu disse "Ao fim do tempo determinado o cache expira e o login é

solicitado novamente."

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então leia novamente meu querido mas desta vez com um pouquinho mais de vontade

de aprender e menos vontade de terminar seu script sem dar a minima para instrução.

No post anterior eu disse "Ao fim do tempo determinado o cache expira e o login é

solicitado novamente."

 

Mas eu li e prestei atencao tb nessa parte em negrito, oque me deixou confuso eh: ele expira e volta automaticamente pro index.php ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai depende do seu código. Se a sessão não existir mais, seu código faz oque?

Como disse antes a unica coisa a acrescentar é o session_cache_expire().

Os códigos que redirecionam caso a sessão não exista tem de permanecer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oO QUE DOIDO, DEI UMA FUSSADA NO MEU CODIGO E AGORA FICOU DE BOA:

 

<?php
session_start();
if (!isset($_SESSION["login"])) {
	header("Location: index.php");
}
?>

 

ah, esqueci de falar, muito obrigado a todos :D

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.