Eu usaria o flashdata também, mas faria isso através de um helper pra não
ficar essa poluição toda dentro de todo HTML, dai no HTML você só chamaria o
helper que iria verificar se existia qualquer flashdata, (error, sucess,
warning) e retorná-la dentro do template de acordo com o tipo.

2010/10/21 Rafael V. de Oliveira <[email protected]>

> O que eu faço é isso ó:
>
> $this->_validacao('editar');
> if ( $this->form_validation->run() === TRUE )
> {
> $fields = $this->_campos('editar');
> $id = $this->Mdl->update($fields, $id);
> if ( $id > 0 )
> $this->session->set_flashdata('sucesso', 'Secção alterada com sucesso');
> else
> $this->session->set_flashdata('error', 'Não foi possível alterar esta
> secção');
>
> redirect('cms/'.$this->view_dir);
> }
> Aí dentro da view, eu coloco assim ó:
> <div id="mensagens" style="margin: 20px;">
> <?php if ( $this->session->flashdata('error') ) : ?>
> <!-- Mensagem de Error -->
> <div style="padding: 10px; margin: 10px;" class="ui-state-error
> ui-corner-all">
> <p><span style="float: left; margin-right: 0.3em;" class="ui-icon
> ui-icon-alert"></span>
> <?php echo $this->session->flashdata('error'); ?></p>
> </div>
> <?php endif; ?>
>
> <?php if ( $this->session->flashdata('sucesso') ) : ?>
> <!-- Mensagem de Suucesso -->
> <div style="padding: 10px; margin: 10px;" class="ui-state-highlight
> ui-corner-all">
> <p><span style="float: left; margin-right: 0.3em;" class="ui-icon
> ui-icon-info"></span>
> <?php echo $this->session->flashdata('sucesso'); ?><br />
> <?php if ( isset($url) ) : ?>
> <?php echo anchor($url, 'Voltar'); ?>
> <?php endif; ?>
> </p>
> </div>
> <?php endif; ?>
> </div>
>
> Desta forma eu consigo trabalhar tranquilo.
>
> Ainda poderia, dentro do controller, setar como
> lang('key_do_error/sucesso'), mas só em casos que eu tenho mais de um
> idioma.
> Confesso que sou preguiçoso no quesito sites com 2 idiomas. Quanto tem um
> só, nem trabalho com o language ;P
>
> Em 2010/10/21, às 19:33, Rafael Mattioni escreveu:
>
>  Cara, essa é uma dúvida que tenho até agora (tudo bem que estou mexendo no
> CI a 2 semanas).
> Como gerar mensagem de erro na mesma tela, tipo , "Cadastro Concluído com
> Sucesso", "E-mail já consta no sistema", etc, mensagens que não são de
> validação de formulário, e sim que o model pode gerar...
>
> Acabou que fiz duas views padrão para mensagens de sucesso ou falha. Essa
> view padrão tem 2 variáveis, link de retorno e mensagem.
> Dai quando tem sucesso, eu carrego a view assim:
>
> $data['mensagem'] = "Cadastro de cliente concluido com sucesso";
> $data['link_retorno'] = "clientes/cadastro";
> $this->load->view('view_sucesso.php',$data);
>
> Dai la na view eu mostro a variavel mensagem e um botão voltar com o link
> que passei no link_retorno...
>
> Mesma coisa para o erro.
> Não estou feliz com essa solução, mas funciona...
>
> Em 21/10/10 16:23, Radames Galvao escreveu:
>
> teria como mandar uma mensagem de erro usando
>
> $data['mensg'] = 'teste';
> $this->load->view('blablabla', $data);
> ou
> (isso eu sei que não funfa...)
> $data['mensg'] = 'teste';
> redirect('/login');
>
> realemente to apanhado para gerar msgs de erros
>
> e como pegaria essa mensagem usando isso...
>
> redirect('welcome?msg=teste');
>
> gerando essa mensagem no html e não na url 'msg=teste'
>
> ???
>
> valeu obrigado a todos...
>
>
>
>       *Radamés Galvão
> *           Web Developer
>
>   T: (55 11) 5102-2880 | ramal 19
> @: [email protected]
> S: webtraffic.com.br   <http://www.webtraffic.com.br/>
>
> <https://adwords.google.com/professionals/profile/org?id=015655981500987932750&crncy=BRL>
> <http://twitter.com/WEBTraffic_SP>
> <http://www.youtube.com/user/wtrafficvideos>
> <http://www.facebook.com/group.php?gid=367661901154&ref=mf>
>
>
> _______________________________________________li...@codeigniter.com.brhttp://www.codeigniter.com.brhttp://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negóciohttp://www.franquiasargohost.net
> ---------------------------
>
>
>  _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>
>
>
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>
>


-- 
Eric Saboia - eric.saboia.org
PHP Zend Certified Engineer
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a