[PHP-users 11911] PHP 4.2.3 でのキャッシュ制御

岩田 大樹 php-users@php.gr.jp
Mon, 2 Dec 2002 12:10:56 +0900


岩田ともうします。
キャッシュについてML でもさまざまな議論がされていますが,どのように検索して
も欲しい情報が得られなかったので投稿いたしました。

やりたいことは通常のフォーム処理におけるキャッシュの制御です。
ここで言うフォームとは画面の構成から言えば以下のようになっています。

■ インデックス画面
└ ■ 一覧画面
│      └ ■ 編集画面-編集確認画面-編集終了画面
│       └ ■ 削除画面-削除終了画面
└ ■ 投稿画面-投稿確認画面-投稿終了画面
└ ■ エラー画面

上記の構成を使って「投稿画面」にて登録したデータを一覧から選択し,編集,削除
するわけです。

そこで,本題のキャッシュ制御を次のようにしたのです。
1.「投稿画面表示 →※入力エラー発生※ → エラー画面表示
 → ※javascript.history.back() にて投稿画面へ戻る※ → 再度投稿画面表示」
 または
 「編集画面表示 →※入力エラー発生※ → エラー画面表示
 → ※javascript.history.back() にて編集画面へ戻る※ → 再度編集画面表示」
 
 この場合は最終的に表示される投稿・編集画面は以前入力した正常な値を表示
 
2.「インデックス画面表示 → 一覧画面表示」または
  「編集完了画面表示 → 一覧画面表示 」または
  「投稿完了画面表示 → 一覧画面表示 」または
   「削除完了画面表示 → 一覧画面表示 」
 
 この場合は一覧画面は常に最新を表示させたいので,キャッシュを表示させたくな
 い。

php.ini の「session.cache_expire」の値を0にしたり,
「session.cache_limiter」の値を表示する画面上部にて切り替えてキャッシュ制御
しよ
うとしたのですが,どうしてもうまくいきません。

上記の方法を実現するにはどうしたらよいのでしょうか?
ちなみに,php 4.1.2 の時代は各画面上部に
「ini_set( 'session.cache_limiter', private_no_expire );」
の記述をつけるだけで今回のキャッシュ制御がうまくいきました。

お願いいたします。