2011-09-05 23 views
3

我在Kohana中有一個基於模板的項目。搜索表單將作爲模板公共部分的一部分進行呈現。搜索機制由名爲日曆的控制器處理。我想打電話給在用戶控制器控制器日曆,我可以通過

$this->request->redirect('calendar'); 

實現但是,日曆,$ _ POST是空的。如何訪問通過在用戶控制器中提交搜索表單設置的$ _POST?

回答

2

Request::redirect()終止執行並以302位置重定向標頭作出響應。當然,您不能在新頁面上訪問以前的POST。

HMVC subrequesting可用於類似案例:

$response = Request::factory('calendar') 
    ->method(Request::POST) 
    ->post($this->request->post()) 
    ->execute(); 
+0

這給錯誤「調用未定義的方法」方法「。我的Kohana版本是3.0。 :( – KutePHP

0

可能是你的問題的最佳解決方案,如果你無法使用HMVC subrequesting,是存儲你需要到會話中的$ _ POST變量:

$my_var1 = $this->request->post('my_var1'); 
$my_var2 = $this->request->post('my_var2'); 

$session = Session::instance(); 

$session->set('my_var1', $my_var1); 
$session->set('my_var2', $my_var2); 

$this->request->redirect('calendar'); 

然後,在你的日曆控制器/動作可以訪問說,從會話變量:

$session = Session::instance(); 
$my_var1 = $session->get('my_var1'); 
$my_var2 = $session->get('my_var2'); 
相關問題