1

我正在驗證由第三個網址段生成的許多視圖上的表單。如何設置段以在表單驗證之後在codeigniter中查看?

的網址:http://example.com/listings/item/1212將改變基於項目

我的兩個功能在下面,我的問題是,當驗證失敗時如何我刷新與第3段,並顯示在頁面驗證錯誤?

P.S:我已經嘗試過重定向(),但驗證錯誤不會保留。

謝謝。


這是 「項」 功能

public function item() 
{ 

    if ($this->session->userdata('is_logged_in')) 
    { 
     $id = $this->uri->segment(3); 
     $this->load->model('listings_model'); 

     if ($data['things']= $this->listings_model->get_item($id)) 
     { 
      $this->load->view('list/item_view',$data); 
     } 
    } 
    else 
    { 
     $this->unauth(); 
    } 
} 


這是我的驗證

public function get_email() 
{ 

    $this->load->library('form_validation'); 


     $this->form_validation->set_rules('captcha', 'Captcha', 'required|trim|callback_check_captcha'); 


     if ($this->form_validation->run() == FALSE) 
     { 
      $this->item(); 
     } 
     else 
     { 
      $this->load->model('listings_model'); 

      if ($this->listings_model->update_listing()) 
      { 
       echo "Good"; 
      } 

     } 
} 
+0

你有把'<?php echo validation_errors(); ?>在你看來? – Nikitas 2013-03-23 04:52:45

+0

是的,我有,但重定向擺脫了這些數據 – overwriter 2013-03-23 06:51:52

回答

1

您可以使用下面的代碼時出現錯誤重定向到您的網頁。發生錯誤時可以將其放入控制器中。

redirect('listings/item/12/error_message_goes_here', 'location'); 
exit; 

並在您的觀點檢查天氣第四個參數存在。如果第四存在,則顯示錯誤

if(!empty($this->uri->segment(4))){ 

    $this->output->set_output($this->uri->segment(4)); 

} 

所以你的觀點是:您重定向和您的重定向你,如果存在錯誤消息,顯示它傳遞錯誤信息,然後在視圖中。

+1

謝謝我最終設置了一個會話變量,如果它通過顯示它。 – overwriter 2013-04-06 16:36:35

相關問題