我在Kohana中有一個基於模板的項目。搜索表單將作爲模板公共部分的一部分進行呈現。搜索機制由名爲日曆的控制器處理。我想打電話給在用戶控制器控制器日曆,我可以通過
$this->request->redirect('calendar');
實現但是,日曆,$ _ POST是空的。如何訪問通過在用戶控制器中提交搜索表單設置的$ _POST?
我在Kohana中有一個基於模板的項目。搜索表單將作爲模板公共部分的一部分進行呈現。搜索機制由名爲日曆的控制器處理。我想打電話給在用戶控制器控制器日曆,我可以通過
$this->request->redirect('calendar');
實現但是,日曆,$ _ POST是空的。如何訪問通過在用戶控制器中提交搜索表單設置的$ _POST?
Request::redirect()
終止執行並以302位置重定向標頭作出響應。當然,您不能在新頁面上訪問以前的POST。
HMVC subrequesting可用於類似案例:
$response = Request::factory('calendar')
->method(Request::POST)
->post($this->request->post())
->execute();
可能是你的問題的最佳解決方案,如果你無法使用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');
這給錯誤「調用未定義的方法」方法「。我的Kohana版本是3.0。 :( – KutePHP