Codeigniter set_value未定义变量

时间:2013-05-04 15:57:43

标签: php codeigniter

我在CI控制器中有这个代码:

if ($this->form_validation->run() === FALSE)
        {
            $data['category'] = $this->categories_model->get_categories($id);
            $this->load->view("templates/admin_header", $data);
            $this->load->view("categories/edit", $data);
            $this->load->view("templates/admin_footer", $data); 
        }
        else
        {
            $array = array('id'=>$id, 'category_name' => $this->input->post('category_name'));

            $this->categories_model->update($array);
            $this->load->view("templates/admin_header");
            $this->load->view("categories/edit");
            $this->load->view("templates/admin_footer");
        }

在视图中我有这个:

<input type="text" class="text" name="category_name" value="<?php echo set_value('category_name', $category['category_name']); ?>"/>

当我第一次加载视图时,它从数据库中获取category_name值,并在输入字段中显示它。但是当我发布表单时,它会更新数据库,但是当在帖子后加载视图时,它会显示我的错误:

严重性:注意 消息:未定义的变量:category

它打破了输入字段的html。

1 个答案:

答案 0 :(得分:1)

if ($this->form_validation->run())
{
    $array = array('id'=>$id, 'category_name' => $this->input->post('category_name'));

    $this->categories_model->update($array);        
}

$data['category'] = $this->categories_model->get_categories($id);  

$this->load->view("templates/admin_header", $data);
$this->load->view("categories/edit");
$this->load->view("templates/admin_footer");