set_value()不保持字段的值

时间:2012-09-03 02:24:43

标签: php codeigniter

当我收到验证错误时,设置值不会保留字段值。

*查看* :**

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()。 在 查看 页面的顶部,我回显了get_temporary_msg();

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

1 个答案:

答案 0 :(得分:0)

这是正常的,如果你在表单提交后进行重定向,set_value找不到post_title的值,因为$ _POST变为空。如果您想保持提交的价值,您必须在重定向网址或会话中传递它。 抱歉我的英语很差..