Ir para conteúdo

POWERED BY:

Arquivado

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

Rodrigo Salles

[Resolvido] Perdendo sessão na view

Recommended Posts

Bom dia, moçada!!

 

Depois de uma procura pelos tópicos e de tentar algumas soluções propostas, segue o problema:

 

Dividi um cadastro de dados em quatro etapas onde uma única action no controller gerencia tudo, renderizando as views correspondentes a cada etapa. Antes da view seguinte ser chamada, uma sessão com os dados da etapa anterior é registrada.

 

Exemplo (ilustrativo):

 

public function etapa($etapa) {
  if(!empty($this->data)) {
     $this->Session->write('etapa_atual', $this->data);
     $this->redirect(array('action'=>'etapa', $etapa));
  }
  $this->render($etapa);
}

 

Beleza. Eu consigo ler essas sessões no controller e no arquivo de layout, em views/layouts... mas não consigo ler nos arquivos de view, nem com a global $_SESSION. Ou seja, em algum momento essas sessões estão se perdendo, sendo apagadas, sei lá... é muito estranho.

 

Gostaria da ajuda da galera pra saber o que houve e como corrigir esse problema.

 

Valeu, pessoal. Abraço!!

 

[editado] OBS: Notei que consigo ler a sessão, seja pela global $_SESSION ou pelo helper Session, nas outras views da aplicação... Menos nessas!! Isso pode ter a ver com o método Controller::render() ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, moçada!!

 

Depois de uma procura pelos tópicos e de tentar algumas soluções propostas, segue o problema:

 

Dividi um cadastro de dados em quatro etapas onde uma única action no controller gerencia tudo, renderizando as views correspondentes a cada etapa. Antes da view seguinte ser chamada, uma sessão com os dados da etapa anterior é registrada.

 

Exemplo (ilustrativo):

 

public function etapa($etapa) {
  if(!empty($this->data)) {
     $this->Session->write('etapa_atual', $this->data);
     $this->redirect(array('action'=>'etapa', $etapa));
  }
  $this->render($etapa);
}

 

Beleza. Eu consigo ler essas sessões no controller e no arquivo de layout, em views/layouts... mas não consigo ler nos arquivos de view, nem com a global $_SESSION. Ou seja, em algum momento essas sessões estão se perdendo, sendo apagadas, sei lá... é muito estranho.

 

Gostaria da ajuda da galera pra saber o que houve e como corrigir esse problema.

 

Valeu, pessoal. Abraço!!

 

[editado] OBS: Notei que consigo ler a sessão, seja pela global $_SESSION ou pelo helper Session, nas outras views da aplicação... Menos nessas!! Isso pode ter a ver com o método Controller::render() ??

 

Olá amigo

tive problemas com sessão uma vez, que elas se apagavam do nada tb!

tente fazer o seguinte:

vá em: \app\config\core.php

# Set essa para {false}   
Configure::write('Session.checkAgent', true);

 

veja se o problema persiste.

 

[]s

Eduardo Abreu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eduiagami

 

Cara, eu consegui resolver comentando a configuração de timeout de sessões. Bicho, ainda não entendi o motivo disso tudo, mas deu certo.

 

menino_levado

 

Meu, eu já passei por isso... E, às vezes na correria, ainda dou umas dessas... rsrs!!

 

É isso, aí. Valeu pela ajuda pessoal!!

 

Abraço.

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.