簡體   English   中英

即使我再次明確設置CodeIgniter也在緩存視圖變量

[英]CodeIgniter is caching view variable even if I explicitly set it again

我正在使用CodeIgniter PHP框架。 我有一個具有$ editcode隱藏變量的簡單表單,該變量在表單提交時發送。 表單將數據提交到表單處理功能,然后再次使用該表單重新顯示視圖,但是$ editcode $變量更改為新值。

問題是,無論我做什么,即使提交表單並使用新的$ editcode變量重新繪制視圖后,$ editcode的值仍與原始值相同。

從我的視圖中摘錄,顯示了如何包括和提交$ editcode。

echo form_open('/add', $formattributes);
echo form_hidden('editcode', set_value('editcode', $editcode));
echo form_submit('submit','Submit!','id="submit"');

add()函數代碼($ refreshed_editcode與生成的原始$ editcode有明顯不同)。

...
$data['editcode'] = $refreshed_editcode;
$this->load->view('includes/template', $data);

當通過add()函數重繪視圖時,$ editcode值為$ refreshed_editcode,但它仍然是原始值。

我知道CodeIgniter會為嵌套視圖進行一些變量緩存,但是在這種情況下,我將顯式重新發送$ editcode變量的新值。 是什么賦予了?

嘗試擺脫對set_value的調用。 由於表單字段是隱藏的,因此無論如何它實際上都不會給您帶來太大的好處,而且我懷疑這是“緩存”發生的地方(如果我沒記錯的話,該函數是form_helpers文件的一部分,它實際上是設計好的緩存以幫助重新填充數據,但是自從我使用它已經有一段時間了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM