Cakephp - Voltar para a página anterior

444 views
Skip to first unread message

Bruno Medeiros

unread,
Sep 19, 2012, 1:55:15 PM9/19/12
to cakep...@googlegroups.com
Estou tentando redirecionar um formulário para página anterior. Estava tentando salvar o $this->referer em uma sessão.
No entanto, após salvar as informações do formulário, ele volta para a mesma página. 
Usando o debug consigo ver que antes de editar o $this->referer traz a página anterior, mas está carregado com a página atual.


Att,
            


brunosinister

unread,
Sep 19, 2012, 1:59:34 PM9/19/12
to cakep...@googlegroups.com
tenta assim  $this->redirect( $this->referer() );

Bruno Rodrigues de Araujo.


--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque está inscrito no grupo "CakePHP Tuga" dos Grupos do Google.
 
Para publicar uma mensagem neste grupo, envie um e-mail para cakep...@googlegroups.com.
Para anular a inscrição neste grupo, envie um e-mail para cakephp-pt+...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt?hl=pt-PT.
 
 

Bruno Medeiros

unread,
Sep 19, 2012, 2:10:36 PM9/19/12
to cakep...@googlegroups.com
então Bruno, era assim que estou tentando fazer.. mas ele insiste em voltar para a página atual...
--
Bruno Medeiros
Desenvolvedor Web
brun.m...@gmail.com

Acesse: Vitrine Floripa
            

brunosinister

unread,
Sep 19, 2012, 2:16:39 PM9/19/12
to cakep...@googlegroups.com
Estranho, cola no bi.cakephp.org esse trecho do código.

Bruno Rodrigues de Araujo.

Bruno Medeiros

unread,
Sep 19, 2012, 2:25:52 PM9/19/12
to cakep...@googlegroups.com
É uma parte bem simples. Olha.

http://bin.cakephp.org/view/98211443 

brunosinister

unread,
Sep 19, 2012, 2:45:15 PM9/19/12
to cakep...@googlegroups.com
Bruno realmente é um comportamento estranho. Tenta acompanhar com o firebug as requisições http que estão sendo feitas.

Bruno Rodrigues de Araujo.

Bruno Medeiros

unread,
Sep 19, 2012, 3:24:15 PM9/19/12
to cakep...@googlegroups.com
Analisando as requisições, quando eu abro o formulário, temos um método GET com referer na página anterior. Quando altera e salva o formulário, requisição POST com referer a própria página... não sei..axo que tá certo...
Talvez seja algum erro na lógica..

Cauan Cabral

unread,
Sep 19, 2012, 3:46:02 PM9/19/12
to cakep...@googlegroups.com
Acho que é um erro de lógica sim =]

Quando você abre o formulário, o seu referer guarda a página que você quer (anterior).
No momento que você envia o formulário, o browser atualiza como página anterior a página do formulário e por isso o referer é atualizado.

Para fazer isso que você quer, no momento que abrir o formulário, guarde em sessão a página anterior. Cuidado para não atualizar a chave
da sessão quando enviar o formulário (faça um teste, por exemplo, de só definir a chave se ela já não era definida, caso contrário ignora).

Após o envio do formulário você pode acessar a antiga URL e redirecionar seu usuário para ela.

2012/9/19 Bruno Medeiros <brun.m...@gmail.com>



--
Cauan Cabral
----------------
Como falar comigo: Google Talk: cau...@gmail.com Skype: CauanCabral MSN: cau...@gmail.com
Onde me encontrar: LinkedinFacebookWordpressTwitterOrkut


brunosinister

unread,
Sep 19, 2012, 3:50:45 PM9/19/12
to cakep...@googlegroups.com
Bruno então é isso quando vc submete o form o referer passa a ser a própria página na qual vc está, dai ela não é mais válida... o refer não é mais válido para o que vc precisa... ve o que vc quer é voltar para uma página de visualização do conteudo que acabou de editar você pode fazer o seguinte:

$this->redirect( array('controller'=>'seucontroller' , 'action'=>'suaaction', $id ) );

tenta assim

Bruno Rodrigues de Araujo.

Bruno Medeiros

unread,
Sep 19, 2012, 3:50:32 PM9/19/12
to cakep...@googlegroups.com
huum..acho que é isso mesmo..
Já tinha feito com session, mas quando editava, ele atualizava o valor.

Vou tentar como você falou e ver se dar certo.

Vlw.

Bruno Medeiros

unread,
Sep 19, 2012, 4:12:11 PM9/19/12
to cakep...@googlegroups.com
Assim eu já tinha feito o teste e realmente funciona...
Como eu posso utilizar isso em várias páginas, ficar editando cada uma delas não seria muito legal...

mas to tentando fazer o que o Cauan falou antes e ve se dar certo.

Carliton Queiroz

unread,
Sep 19, 2012, 4:14:01 PM9/19/12
to cakep...@googlegroups.com
Você também pode enviar o  $this->referer()  como um campo oculto (hidden) no formulário e depois redirecionar.

Bruno Medeiros

unread,
Sep 19, 2012, 4:57:52 PM9/19/12
to cakep...@googlegroups.com
bom..não sei se foi a melhor maneira, mas fiz segundo a lógica do Cauan..

Verifiquei se a session existe, e se não, criar ela com o valor de $this->referer().
Então tive que atribuir o valor dessa session em um váriavel, pra depois poder destruir a session.
Depois, no redirect chamei essa váriavel.

Att,

Em 19 de setembro de 2012 17:14, Carliton Queiroz <carl...@gmail.com> escreveu:
Você também pode enviar o  $this->referer()  como um campo oculto (hidden) no formulário e depois redirecionar.

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque está inscrito no grupo "CakePHP Tuga" dos Grupos do Google.
 
Para publicar uma mensagem neste grupo, envie um e-mail para cakep...@googlegroups.com.
Para anular a inscrição neste grupo, envie um e-mail para cakephp-pt+...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt?hl=pt-PT.
 
 



--
Bruno Medeiros

            

Jeremias Santos

unread,
Jul 14, 2013, 10:41:48 AM7/14/13
to cakep...@googlegroups.com
Desculpem a pergunta e reativar o tópico, mas a nível de código algum poderia postar um exemplo de como fazer, pois ainda tenho dúvidas devido o pouco tempo de vivencia com CakePHP.

Agradeço a atenção e ajuda.
Reply all
Reply to author
Forward
0 new messages