1
可能重複:
How to access a variable in a PHP class that is set by another function? CodeigniterCodeigniter URL問題!點擊刷新會導致函數被執行!
我有一個名爲控制器提交:
基本上它關注的兩件事情:
- validate_form() - 它驗證es表格 - >然後提交至 數據庫。
- 成功() - 它載入一個頁面,提供關於 之前的操作是否成功的反饋。
我的控制器工作正常,但是當它載入我的成功頁面時有一個小問題。 如果您點擊刷新「成功」頁面,它會由於某種原因導致我的validate_form()函數再次運行,導致相同的數據在數據庫中被複制。
我要的是,當用戶進入到成功頁面,他們可以刷新打,因爲他們喜歡很多次,它不會調用任何函數等
我對成功的看法網址是
我猜是這樣的問題,因爲它仍然是在validate_form()函數。
我的驗證窗體函數通過調用其中的另一個函數加載成功視圖? 這裏是我的代碼:
//Record ID = returned value
$record_id = $this->submit_model->create_record($completedstaffrows, $completedeventrows);
//if no value returned call failed function
if ($record_id == FALSE)
{
$this->failed();
}
//Submittal to database was successful
//Now call function to load success view
else
{
$this->success();
}
我的加載成功的視圖功能:
public function success()
{
$page['page'] = 'success';
$this->load->view('template', $page);
}
好吧我嘗試了重定向,但是我現在有一個問題,我的變量,我通過原來的方式沒有傳遞給視圖,並導致錯誤(未定義)。我如何使用重定向傳遞變量? – sqlmole
您可以使用[CI會話](http://codeigniter.com/user_guide/libraries/sessions.html)在請求之間存儲/檢索值。看看flashdata部分,它會做你需要的工作。 –