Codeigniter 2.1 отправляет данные с одного контроллера на другой - PullRequest
1 голос
/ 02 апреля 2012

У меня есть такая функция:

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 Ответ

2 голосов
/ 02 апреля 2012

validation_errors() работает только в том случае, если данные $ _POST все еще установлены, так как вы перенаправляете в admin / create, $ _POST пусто, и функция больше не работает, ничего не возвращая.

Вы можете отправить ошибкис кусочком flashdata на страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...