PHPのheader関数について質問です。

header(”Expires: Sat, 01 Jan 2000 00:00:00 GMT”);
header(”Last-Modified: ”. gmdate(”D, d M Y H:i:s”). ” GMT”);
header(”Cache-Control: no-cache, must-revalidate”);
header(”Pragma: no-cache”);
と記述することで、そのページはキャッシュを行いませんが、ブラウザの戻るボタンでそのページに戻った場合も新規読み込みされてしまうのでしょうか。
というのも、フォームで入力するページから入力内容確認ページへ進み、ブラウザで戻った場合、MacIE5・Safariではフォームに入力した内容が表示され、WinIE6では消えてしまうので、混乱してしまっています。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/10/10 21:03:24
  • 終了:--

回答(1件)

id:hebe No.1

hebe回答回数43ベストアンサー獲得回数02004/10/13 02:22:02

ポイント50pt

http://www.amazon.co.jp/exec/obidos/ASIN/4844320254/hatena-22

Amazon.co.jp: まるごとPHP!〈Vol.1〉: 本: 山田 祥寛,桝形 誠二,広川 類,山本 勇,岩切 洋一

実装の方針が間違っています。

HTTP ヘッダによるキャッシュコントロールではなく、プログラム側で処理を行うべきです。

書店に並んでいる まるごと PHP (

http://www.amazon.co.jp/exec/obidos/ASIN/4844320254/phplab-22

Amazon.co.jp: まるごとPHP!〈Vol.1〉: 本: 山田 祥寛,桝形 誠二,広川 類,山本 勇,岩切 洋一

) を買ってきて PEAR::HTML_QuickForm の記事を参照してください。

補足すると HTTP ヘッダによるキャッシュコントロールは結局ブラウザ側の仕様次第となり、RFC に従っても完全に値が書き戻る事を期待する事は出来ません。

値の保持はプログラムによって処理され、保証されるべきです。

という事で書店に GO。

id:wintarsnow

回答ありがとうございます。

つまり、ブラウザで戻った時も、ブラウザによってheader関数が効くものと効かないものがある、ということで良いのでしょうか。

セッションを使うとますますブラウザごとの動作が異なるので悩んでいました。

紹介いただいた本は、最近出版されたものなのですね。PHP5に対応というのも良いです。

本屋でチェックしてみたいと思います。

ありがとうございました。

2004/10/13 12:10:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません