2014-09-05 92 views
0

我希望我的CI控制器保存下一頁加載的flash數據,每次執行完成。以下是我已經試過:如何在CodeIgniter控制器完成執行時設置會話flashdata?

使用post_controller鉤:

起初我試圖使用post_controller掛鉤這一點,但是這並不會被解僱,如果redirect()被稱爲立即發送用戶到下一頁。

使用控制器destruct()方法:

然後我試圖使用控制器的destruct()方法調用會話set_flashdata()方法,但是,這並不工作,因爲它看起來好像數據庫連接已經被報廢那點,因爲驅動程序類的escape_str()方法中的is_object($this->conn_id)測試失敗。

如何確保在完成控制器操作時始終執行對set_flashdata()的調用?

回答

1

我不知道我的答案對您的問題是否合適。

如果您使用post_controller鉤子,它將無法在重定向的情況下工作。 即使destruct()也不適用於相同情況。

使用constructordestructor在中間出口形成一個C++程序。當流量中斷時,destructor不會被調用。

因此,要擺脫這個,你有以下選項

  1. 你需要找出退出點和手動和呼叫set_flashdata()
  2. 您可以創建pre_controller鉤子並呼叫set_flashdata()。取決於url獲取元素,您可以設置set_flashdata()。這意味着你需要通過URL 額外
相關問題