set_value()不维护字段';s值


set_value() Does Not Maintain the Field's Value

当我收到验证错误时,Set value不维护字段值

*视图*:**

echo form_input('post_title', set_value('post_title')); 

控制器:

if ($this->form_validation->run('post_ad') == FALSE)
{
    set_temporary_msg(validation_errors('<div>', '</div>'));  
}

助手:

function set_temporary_msg($msg, $target_location = '') 
{
    $CI =& get_instance();
    $CI->session->set_flashdata('temp_msg', $msg);
    redirect($target_location); 
}
function get_temporary_msg() {
    $CI =& get_instance();
    echo $CI->session->flashdata('temp_msg');
}

如果某些输入无效,则调用set_temporary_msg()。在视图页面的顶部,i echo get_temporary_msg();

错误消息和重定向工作正常,但我丢失了所有的set_value()。知道如何解决这个问题吗

这很正常,如果在表单提交后进行重定向,则set_value找不到post_title的值,因为$_post变为空。如果你想保持提交的值,你必须在重定向url或会话中传递它。对不起我英语不好。。