Codeigniter 2.1将数据从一个控制器发送到另一个控制器

时间:2012-04-02 12:25:14

标签: php codeigniter codeigniter-2

我的功能如下:

function gi_insert()
        {
        if(!IS_AJAX){
      $this->load->library('form_validation');
      $this->form_validation->set_rules('name', 'Naslov', 'trim|required|strip_tags');
      $this->form_validation->set_rules('body', 'Tekst', 'trim|required|strip_tags');
      $this->form_validation->set_rules('email', 'E-mail', 'trim|required|strip_tags|valid_email');
      $this->form_validation->set_rules('tag', 'Tagovi', 'trim|required|strip_tags');
      if(isset($_POST['category_new'])){
          $this->form_validation->set_rules('category_new', 'Kategorija', 'trim|strip_tags');
      }

      $p = $this->uri->segment(3);
      if ($this->form_validation->run() == FALSE)
        {
                   $errors = validation_errors();
                   redirect("admin/create/$p", 'location');
        }
        else
        {
                    $this->gi->gi_insert();     
                    redirect('admin/pregled/' . $this->uri->segment(3));
        }
        } else
        {
            $this->gi->gi_insert(); 
        }           

    }

如何向admin/create控制器发送验证错误?目前,这是有效的,但我没有得到错误报告(错误应该出现的页面包含

<?php echo validation_errors(); ?>

1 个答案:

答案 0 :(得分:2)

validation_errors()仅在$ _POST数据仍然设置时才有效,因为您重定向到admin / create,$ _POST为空且函数不再有效,不返回任何内容。

您可以将错误与flashdata一起发送到页面。