在我的控制器結束時,我有這樣的代碼:Flashdata鑑於空
print_r($this->session->all_userdata());
$this->load->view('common/site_header');
在我site_header
文件的第一行,我有:
print_r($this->session->all_userdata());
第一print_r
包含;
[flash:new:error] => Formulier niet correct ingevuld.
在site_header
文件的print_r
不包含此項,之後我重新提交表單的第二print_r
包含:
[flash:old:error] => Formulier niet correct ingevuld.
在我看來,就好像視圖有不同的會話對象,是背後的一個要求或什麼的。
如何在同一個請求中的視圖中獲得flashdata?只爲下一個請求
會話對象是在CI全局可用。它只有一個實例,所以你的控制器和視圖共享它。對我來說,它看起來像你在顯示視圖之前重置你的Flash數據。你有沒有定義任何鉤子重置flashdata? – thpl
您可以在視圖前嘗試$ this-> session-> keep_flashdata(var)嗎?阿洛斯,你是否在你的模型或控制器中設置了flash數據? – karmafunk
我在我的控制器的print_r正上方設置flashdata。我也確認會話構造函數在這個請求中被調用兩次。我有自動加載會話,我沒有任何鉤子,正如你可以看到,我沒有任何代碼之間的第一個print_r和print_r在視圖文件中 – FlyingNimbus