Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Estou com seguinte situação:
Criei um arquivo autenticar.php e ele me diz se a sessão foi ou não criada pelo usuário.
Caso tenha sido criada, beleza. Então o usuário acessa o painel e em caso o contrário não acessa.
<?php
session_start();
if(!isset($_SESSION['sessao'])){
//echo'Sessão não criada.';
header("location:logar.php");
}else{
//echo'Sessão criada.';
header("location:painel.php");
}
?>
Quando fecho o navegador a sessão é destruída. Até aquí tudo bem. Mas..... se o usuário tenta acessar diretamente no browser a pagina na abre e muito menos redireciona para o logar.php
Para evitar o acesso direto eu coloquei o arquivo autenticar.php no início do arquivo painel.php e está dado esse biziu.
O que pode ser ?
Habilite todas as exibições de erro como mostrado neste tópico e tente de novo. Veja se aparece algum erro
Você deve ter uma pagina de validação de login certo?
Pesquise sistema de login
uso assim em cada pagina.
if (!isset($_SESSION)) session_start();
// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID']){
// Destrói a sessão por segurança
// Redireciona o visitante de volta pro login
header("location: login.php");
exit;
}o PHP é case sensitive,
altere o location: pagina.php para Location: pagina.php .
>
o PHP é case sensitive,
altere o location: pagina.php para Location: pagina.php .
Não para este caso. Ele vai redirecionar com ou sem a letra maiúscula.
Se está tudo correto não tem como dar erro.
O seu dislpay erros está ativo do php ? qual o erro gerado, nenhum ?