Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problemas com Session


KaitoO

Pergunta

estou tendo 1 problema com session... somente quando ele efetua uma busca avançada

tenho as seguintes paginas

index.php >> escolhe 1 estado para listar os dados

busca.php >> efetua a busca e inicia a sessao

inicial.php >> exibe os registros se houver... com a sessao porem dentro desta pagina tem 1 formulario que você efetua uma busca mais detalhada e redireciona para avancada.php

avancada.php >> exibe um registro detalhado.. porem quando clico no voltar, se estiver cetado um tempo da session funciona... até ai sem problema algum

O que gostaria de saber é que se existe um meio.. q caso o usuario feche o navegador ele encerre a sessao automaticamente, indiferente se o tempo venceu ou não e por ventura ele abra e entre pelo endereço direto

http://www.seusite.com.br/inicial.php ele não tenha a sessao iniciada... e volte pra index...

to com esse pequeno problema

tentei session destroy na avancada.. não deu... quando cliquei no voltar ele voltou pra index.

sugeriram session_unregister... tambem não funcionou =//

alguém pode me dar uma luz.. ou simplesmente devo desencanar e tals?

Vlww =D :rolleyes:

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

O padrão é exatamente esse, quando o cara fecha o navegador as sessões são destruidas, mas note que se ele estiver com duas janelas do navegador abertas (uma no teu site, e outro em outro site), e ele fechar apenas a janela do teu site e retornar depois sem ter fechado a outra janela, ai as sessões continuarão valendo... acho que o problema real do teu script é alguma coisa com a lógica usada.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim... essa ideia eu vi.. eu percebi.. efetuei os testes e tals..

mas então... a sessao destroy.. devo setar em qual?

avancada ou inicial.. visto que

ele faz a busca avancada se quiser... caso ele esteja na inicial e feche.. ela encerra a session

caso ele esteja na avancada.. e feche.. encerra a session

tem como isso?

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que eu entendi o teu problema é: "Fulano não pode acessar as páginas direto, tem que passar pela index", é isso? Se for faz assim, em todas as páginas faz uma verificação com isset para ver se a sessão existe, se não existir usa o header para redirecionar para index. Claro que se o cara só fechar a janela do teu site e mantivar outra aberta, vai cair no que eu falei no outro post...

Link para o comentário
Compartilhar em outros sites

  • 0

resolvido o problema cara!

pagina inicial

<?php
    $_REQUEST['state'];
    session_start();
    if(!isset($_SESSION['state'])){
    header("location:index.php");
    }else{
        session_destroy();
    }
?>
// resto do codigo html
<form action="avancada.php" method="post" name="<?php session_start();     $_SESSION['state'] = $estado; ?>">
// resto do codigo
na avancada.php
<?php
    $_REQUEST['state'];
    session_start();
    if(!isset($_SESSION['state'])){
    header("location:index.php");
    }
?>

ai funcionou do jeito que eu queria... se fechar o navegador e abrir não tem sessao nenhuma porque não tem tempo ativo!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...