2009-04-17 5 views
0

私のlocalhost(xampp windows)と私のドメイン(FC7 linux)の間に混乱があります。私は、多くのデータベース駆動型選択リストを持つページを持っています。更新時に、これらの値はデータベースを更新するページに渡され、これをユーザーに確認します。 (私は自分のデータベースを直接監視していますが、これは正しく行われています)私のlocalhostと私のドメインとの間で値を返す問題

入力ページに戻るメニューオプションがあります。私のlocahostでこれを選択すると、更新された値でページが正しく返されます。ドメインでこれを選択すると、元の値を持つページが返されます(たとえば、PHPスクリプトが実行されないように見えます)。私は、新しい値を表示するためにリフレッシュ(クエリを呼び出す)し、リロード(フィールドに値を読み込む)する必要があります。

これまでの私の経験では、PHPとHTMLを分離したテンプレートを使用していましたので、これまでにこの問題に遭遇したことはありません。私はいくつかの選択肢を試しましたが、ほとんど影響はありませんでした。

答えて

0

更新してから、再度読み込みますか?選択ボックスにデータを読み込むページのやり取りはありますか?

ここにブラウザのキャッシュに関する問題があるか、データの読み込みに異常な順序があるようですが、それを複製する方法については詳細が必要です。

+0

何が必要ですか? –

1

取得している間違った応答は、キャッシュから取得される可能性が最も高いです。

HTTP header viewerを使用して、サーバーが送信しているキャッシュヘッダーを調べることができます。また、LiveHTTPHeaders Firefox用アドオンを使用することもできます。あなたが外を見ている何

  • が有効期限:ヘッダには、サーバからチェックすることなく、特定の日付の前に、さらに要求に同じページを再使用するようにブラウザに指示します。 max-age =セクションがCache-Control:ヘッダー内にある場合も同様です。つまり、Expiresヘッダまたはmax-ageセクションが表示されている場合、ブラウザはサーバに戻らずに古くなった(期限切れの)ページを返すことがあります。

ローカルホスト上のサーバーは、あなたのサーバーは自動的にページに追加されますが、サーバーやブラウザーとサーバーの間のプロキシサーバーが自動的にページに自動的に追加される可能性があります。もしそうなら、それらを削除しようとすることができます。サーバ管理者がmod_expiresを設定している可能性があります(あなたは.htaccessでその設定を上書きできます)。ブラウザとサーバーの間にプロキシサーバーが存在する場合、多くの選択肢はありません。

関心のいくつか他のもの:

  • 特定のアクションは、サーバー上の何かを変えることが重要である場合は、POSTリクエストではなく、GETリクエストを使用する必要があります。 POST要求に対する応答は決してキャッシュされません(ただし、Post-Redirect-Getを実行した場合は取得が終了しますが、それは別の話です)。
  • 「localhost」でアクセスしているときと、他のドメインでアクセスしているときとでは、サーバーが同じ構成で同じヘッダーを送信している場合でも、ブラウザーのキャッシュが異なる動作をすることがあります。これは少なくともFirefoxの場合です(私はそれを自分で見ました)。また、IEにはさまざまなセキュリティゾーンがあり、キャッシュに影響する可能性があり、ローカルホスト上で動作が異なるようになります。
  • サーバーにCache-Control:no-cacheヘッダーとプラグマ:no-cacheヘッダーを出力させることがあります。これは、header()関数への2回の呼び出しを使用してPHPで行うことができます。ブラウザとプロキシは、バリデータが与えられていないときに古い結果を返すような振る舞いをするべきではありませんが、キャッシュされたものを絶対に必要としないことは明白です。

また、プロキシサーバー経由でWebにアクセスしている場合、受信したキャッシュヘッダーを含めて、これが影響を受ける可能性があることにも注意してください。

+0

Firebugを使用することもできますが、これを推奨します。 –

0

私はこれをさらに研究しています。このキャッシングの問題は、私の作品のインターネットプロバイダ経由でサイトにアクセスした場合にのみ発生します。 (私が自宅から、または別のプロバイダを経由してアクセスすれば問題ありません)。

**元の投稿に少し修正**私は(1)ページをリロードする必要があります(2)URLを予約してください

関連する問題