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 
>> 
>>                              
>> 
>> _______________________________________________
>> [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
> ---------------------------

_______________________________________________
[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