1

私はここで少し頭がおかしくなり、おそらくかなり簡単な解決策を見つけようとしています。

イントラネット上にレポートのグループがあり(外の世界にはアクセスできません)、各レポートには、レポートデータを変更する一連のHTML入力を含む入力フォームがあります。

レポートからフォームに戻ると、フォームが元の状態にリセットされるという問題があります。キャッシュしたい(HTML入力変数を覚えておいてください)。キャッシュをオフにする方法だけを見つけることができます。オンにしたいのです。$_SESSIONと$_COOKIEの保存ではこれを行いたくありません。それぞれ約10個の入力を持つ120個のレポートがあるため、それらすべてを保存し、更新時に変数を再読み込みするのに永遠に時間がかかります。

私はサーバー管理者ではありませんが、Apache2.2Webサーバーを実行していると思います。これらはすべてPHP/HTMLベースのページです。どんなアドバイスも素晴らしいでしょう!

他のフォームがキャッシュされているので、それは私のブラウザとは関係ありません。キャッシュを許可するためにサーバー上のどのモジュールをアクティブ化する必要があるか、およびキャッシュを許可するためにフォームのヘッダーにどのようなメモを入れる必要があるかを詳しく調べています。イントラネットはプロキシを介して実行されるため、パブリックにするにはキャッシュ制御が必要になると思います。

編集:

フォームページを実行すると、HTTPヘッダーにこれが表示されますが、これは変更する必要があると思います。

(応答ヘッダーの下)

 X-Powered-By: PHP/5.3.3
 Via: *[REMOVED]*
 Server: Apache/2.2.3 (Red Hat)
 Proxy-Connection: Keep-Alive
 Pragma: no-cache
 Expires: Thu, 19 Nov 1981 08:52:00 GMT
 Date: Wed, 13 Feb 2013 23:33:32 GMT
 Content-Type: text/html; charset=UTF-8
 Content-Length: 5191
 Connection: Keep-Alive
 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Cache-ControlとPragmaの値を変更する必要があると感じています。誰もがこれを達成する方法を知っていますか?

4

2 に答える 2

4

これらのヘッダーをページの上部に追加してみてください。

header("Cache-Control: private, max-age=10800, pre-check=10800");
header("Pragma: private");
header("Expires: " . date(DATE_RFC822,strtotime("+2 day")));

注:フォームがデータを送信して2番目のページに投稿する場合は、両方のページの上部に配置することをお勧めします。また、コードがsession_start()の後にあることを確認してください。セッションを使用している場合。

于 2013-02-14T02:07:54.647 に答える
1

入力のオートコンプリート属性をオンに設定してみてください。

<input name="myinput" autocomplete="on" type="text">
于 2013-02-13T23:33:16.643 に答える