Coisa estranha no session->flash()

4 views
Skip to first unread message

Pedro Valmor

unread,
Nov 3, 2009, 2:55:42 PM11/3/09
to CakePHP PT
Olá,

Boa tarde a todos os desenvolvedores aew...

Estou setando o método da classe Session assim na action de um
Controller qqr:

function add(){
$this->layout = 'Site';
if (!empty($this->data)) {
if ($this->Newsletter->save($this->data)) {
$this->Session->setFlash('Adicionado!');
$this->redirect(array('controller'=>'sites'
,'action'=>'index'));
}
}
}

E depois na View recupero assim:

echo $session->flash();

Mas volta com um número inteiro "1", sempre fica abaixo da mensagem de
"Adicionado", alguém já passou por isso?

Ex:

<br/>
<div id="flashMessage" class="message">Adicionado!</div>
1
<br/>


inclusive acontece com todas as outras msgs que uso... como deletar,
atualizado, etc... Alguém pode me ajudar por favor? Obrigado!

--

[]s

Pedro Valmor

Gabriel Gilini

unread,
Nov 6, 2009, 8:07:03 AM11/6/09
to cake-...@googlegroups.com
2009/11/3 Pedro Valmor <pedro...@gmail.com>:

>
> Olá,
>
> Boa tarde a todos os desenvolvedores aew...
>
> Estou setando o método da classe Session assim na action de um
> Controller qqr:
>
> function add(){
>        $this->layout = 'Site';
>        if (!empty($this->data)) {
>            if ($this->Newsletter->save($this->data)) {
>                $this->Session->setFlash('Adicionado!');
>                $this->redirect(array('controller'=>'sites'
> ,'action'=>'index'));
>            }
>        }
>    }
>
> E depois na View recupero assim:
>
> echo $session->flash();
>
> Mas volta com um número inteiro "1", sempre fica abaixo da mensagem de
> "Adicionado", alguém já passou por isso?

A função flash do SessionHelper já dá echo e retorna um booleano que
indica sucesso. O que tá acontecendo é que o echo faz uma conversão
implícita desse `true', e exibe "1" sempre que você chama a função :)

http://api.cakephp.org/class/session-helper#method-SessionHelperflash

--
Gabriel Gilini

www.usosim.com.br
gab...@usosim.com.br

Pedro Barros de Miranda Sobrinho

unread,
Nov 6, 2009, 7:07:47 AM11/6/09
to cake-...@googlegroups.com
Amigo tira o "echo"!

Use apenas <? $session->flash('flash');?>

Pedro

2009/11/3 Pedro Valmor <pedro...@gmail.com>

Pedro Valmor

unread,
Nov 6, 2009, 8:18:11 AM11/6/09
to cake-...@googlegroups.com
Obrigado!

[]s

Pedro Valmor


Gabriel Gilini escreveu:

Mauro George

unread,
Nov 6, 2009, 2:51:54 PM11/6/09
to Cake PHP Português
Ola, eu sou novo no cakePHP e aqui na comunidade também.
Já segui alguns tutoriais, estou entendo a lógica do cake e tal.
No entanto, o setFlah nunca exibe nada na minha view, fiz o exemplo
igual do tutorial do blog do proprio cake. A operação funciona,
adicionar, exculir..., no entanto o flash não.

Alguem sabe o motivo? Tem que colocar algo na view do default.ctp, ou
criar uma view.ctp?

On 6 nov, 11:07, Gabriel Gilini <gabr...@usosim.com.br> wrote:
> 2009/11/3 Pedro Valmor <pedroval...@gmail.com>:
> gabr...@usosim.com.br

Thiago de Oliveira

unread,
Nov 7, 2009, 12:38:20 AM11/7/09
to cake-...@googlegroups.com

Olá Gabriel!
 
Estou com o mesmo problema, esse 1 senvergonha tava me dexando loco

Sou mais um fam teu!

brigadão
  

2009/11/6 Gabriel Gilini <gab...@usosim.com.br>

Mauro George

unread,
Nov 8, 2009, 12:03:14 PM11/8/09
to Cake PHP Português
Estou passando pelo mesmo problema. Sou iniciante no CakePHP e nem
sabia como exibir o SetFlash na view. Agora estou exbindo e faço assim
e( $session->flash() ); no entanto no inicio não estava o numero 1 lá
ou eu não reparei mais agora esta aparecendo exatamente como você
falou:

<div id="flashMessage" class="message">Comentário Salvo!</div>
1

Sera que algum sabe resolver?

Mauro George

unread,
Nov 8, 2009, 12:10:24 PM11/8/09
to Cake PHP Português
Obrigado Gabriel estava com a mesma duvida e fui pesquisar, resumindo
não necessita dar echo $session->flash(); e sim $session->flash();.
Achei na url abaixo

http://stackoverflow.com/questions/1402912/cakephp-flash-messages-display-unwanted-number-after

Um abraço e obrigado

On 6 nov, 11:07, Gabriel Gilini <gabr...@usosim.com.br> wrote:
> 2009/11/3 Pedro Valmor <pedroval...@gmail.com>:
>
>
>
>
>
> gabr...@usosim.com.br
Reply all
Reply to author
Forward
0 new messages