PHP提交表單後如何控制緩存

在開發過程中,經常會出現表單出錯而返回頁面的時候填寫的信息全部丟失的情況,爲了支持頁面回跳,可以通過以下兩種方法實現。 

1.使用header頭設置緩存控制頭Cache-control。

PHP代碼
  1. header('Cache-control: private, must-revalidate');  //支持頁面回跳     

2.使用session_cache_limiter方法。

PHP代碼
  1. session_cache_limiter('private, must-revalidate'); //要寫在session_start方法之前    

下面介紹一下session_cache_limiter參數:

session_cache_limiter內的幾個參數意義是:
nocache:當然是不緩存(比如:表單信息被清除),但公共變量可以緩存
private:私有方式緩存(比如:表單信息被保留,但在生存期內有效)
private_no_cache:私有方式但不過期(表單信息被保留)
publice:公有方式,(表單信息也被保留)

設置緩存過期時間:session_cache_expire函數設置,缺省是180分鐘。

常遇見問題:

1。session_cache_limiter("private");表單信息是保留了,但是如果我修改已經提交的信息,表單頁面所呈現的信息還是緩存裏信息,沒能及時自動刷新,如果不用session_cache_limiter("private");又不能保留表單信息

解決方案:

在session_start前面加上

session_cache_limiter( "private, must-revalidate" );便可

http://www.php100.com/html/webkaifa/PHP/PHP/2012/1111/11533.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章