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