2016-01-24 111 views
0

嗨,尋求一些幫助。我最近開始使用Codeigniter編碼。在Codeigniter中將uri段變量從一個函數傳遞到另一個函數

我在同一個控制器中有2個函數。我需要從第一個功能到第二個功能。試圖谷歌,但沒有成功。

這裏是我的控制器:

public item_page() { 
    $id = $this->uri->segment(3); 
    $this->load->view('view'); 
} 

public validation() { 
    // Form Validation Goes Here 
    if($this->form_validation->run() == FALSE) { 
     $this->session->set_userdata('validation_errors', validation_errors()); 
     redirect('item-page/'.$id); // I need variable here 
    } else { 
    redirect('execute'); 
    } 
} 
+0

你已經知道表單驗證set_rules http://www.codeigniter.com/user_guide/libraries/form_validation.html#setting-validation-rules,你有一套規則可以查看http://www.codeigniter.com/ user_guide/libraries/form_validation.html#changing-the-error-delimiters – user4419336

+0

Thanks.I確實有驗證,但我沒有在這裏提及它們..可惜我放棄了重定向到我需要$ id的地方的想法..現在我我重定向到正常的功能(沒有$ id) –

+0

你配置你的routes.php重定向例子'$ route ['item-page /(:any)'] ='item-page/index/$ 1';' – user4419336

回答

0

您可以將某些屬性在您的類(控制器)

控制器:

private $page_id; 

public item_page() { 
    $id = $this->uri->segment(3); 
    $this->page_id=$id; 
    $this->load->view('view'); 
} 

public validation() { 
    // Form Validation Goes Here 
    if($this->form_validation->run() == FALSE) { 
     $this->session->set_userdata('validation_errors', validation_errors()); 
     redirect('item-page/'.$this->page_id); // I need variable here 
    } else { 
    redirect('execute'); 
    } 
} 

////// 方法2:

public item_page() { 
     $id = $this->uri->segment(3); 
     $this -> session -> set_userdata('id', $id); 
     $this->load->view('view'); 
    } 

    public validation() { 
     // Form Validation Goes Here 
     if($this->form_validation->run() == FALSE) { 
      $this->session->set_userdata('validation_errors', validation_errors()); 
      redirect('item-page/'.$this -> session -> userdata("id")); // I need variable here 
     } else { 
     redirect('execute'); 
     } 
    } 

希望得到這個幫助。

+0

謝謝@Mohsen Shakibafar ..不幸的是它沒有工作..當我通過'var_dump($ this-> page_id)在第二個函數中檢查它; die;'它說'NULL'..任何想法爲什麼? –

+0

嗯:),你也可以使用會話,但我試圖找到其他的東西 – 2016-01-24 09:04:28

+0

我可以在會話中存儲ID,但不知道如何在另一個函數中回顯它。 –

相關問題