
Apatch、PHP4、PostgreSQLを使ってWebサイトの開発をしています。ブラウザはIE6を使用。NNを使用するとこの事象は発生しませんでした。
●仕様
・A.php → B.php → C.php という遷移をFormをSubmitすることによって行います。
・Aでは、入力フォームがあり、そこでユーザは情報を入力して、Submitボタンを押下し、Bへ遷移します。入力した値はPOSTで渡されます。
・Bでは、Aから渡された値を画面表示するときに受け取った値を確認のために表示。同時バックグラウンドで、Input type hidden のタグに値を渡し、そのFormをSubmitすることによりCへ遷移。(受け取った値をそのままCへPOSTで渡す。)
C・では受け取った値をDBに登録し、登録終了画面を表示する。
●不具合
BからCへ遷移するとき、画面が反映されない。
○不具合詳細
・BからCへのSubmitボタンを押下するとブラウザ下部のステイタスバーにはプログレスバーが延びていき、「ページが表示されました」となるにもかかわらず、画面はBの状態のままである。さらにブラウザ上部のURL入力部にはC.phpのURLが入っている。
・DBには値が反映されている。(CのPHP処理は正常におこなわれているらしい)
処理終了後に画面のどこか(どこでもよい)を一回クリックするとぱっとCの画面が表示される。(何もしないとずっとBのままである。)
・Bの画面のままのときに、Submitボタンをもう一度押すことが出来、二度目のアクセスにいってしまう。(当システムの場合、これを行うと一意規約違反でエラーとなる。)
・AからBではこの現象はおきない。
・毎回なるわけではなく、4回に1回くらいは正常な動作をする。
●環境
サーバOS:RedHatLinux
Webサーバ:Apatch
DB:PostgreSQL7.1
実装言語:PHP4
ブラウザ:IE6(NNではならない)
対処法のわかるかた、いらっしゃいましたらお願いします。
No.3ベストアンサー
- 回答日時:
キャッシュの問題であれば、一度ブラウザのキャッシュをクリアし、スクリプトに
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
を加えて、様子を見てください。
No.2
- 回答日時:
クライアント側のキャッシュの問題かも。
キャッシュしないよう、クライアント側に設定して、うまくいくようだったら、
HTTP応答ヘッダーとして
Expires: 0
と書いてみるとか。
この回答への補足
そのような方法があるのですか。
申し訳ないのですが、コードとしてどのように記載すればいいのでしょう?
header('Expires: 0');
を記載すればいいのですか?
No.1
- 回答日時:
> ・毎回なるわけではなく、4回に1回くらいは正常な動作をする。
これがくせ者ですね。
PHPのバージョンは何でしょう?
例えば、PHP4.0.6以前のバージョンでは、PostgreSQLと組合せた時に「random crashes」するバグがあります。
以下PHPマニュアルより引用
- Fixed pg_last_notice() (could cause random crashes in PostgreSQL
applications, even if they didn't use pg_last_notice()). (Zeev)
と言う具合に、PHP4とだけでは分かりません。
また推論になりますが、拡張ライブラリは何か使っていますか?
特にAPCを使っている場合は、スクリプト内にglobal変数を多用すると、バグが出ることがあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッション関数を使わずにファ...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
SplFileObject を利用したとき...
-
composerをインストールしたい...
-
php でqiitaのサイトにあったフ...
-
【初心者】XAMPPのapacheの(恐...
-
PHPの勉強してます。 配列のと...
-
複数のパソコンの中の1つのパソ...
-
phpに関わる所での、form actio...
-
PHP8を使うと、大量のWarningが...
-
Q&Aサイトを作成していてURLの...
-
PHPで画像の渡しが上手く行きま...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
[php初心者]サイトを見てデータ...
-
入力フォームの空白や改行を制...
-
reuterの記事をbeautiful.soup....
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
BASIC認証のフォームをデザイン...
-
SplFileObject を利用したとき...
-
phpでcookieがうまく保存されない
-
PHPのセッション有効期限について
-
PHPで画像の渡しが上手く行きま...
-
PHP8を使うと、大量のWarningが...
-
フォームで戻った際に入力済み...
-
Q&Aサイトを作成していてURLの...
-
PHPを使って、別サイトの一部を...
-
$_SESSIONに渡した後はそのまま...
-
reuterの記事をbeautiful.soup....
-
PHPSpreadsheetを使って関数を...
-
PHPのエラーの解消法について教...
-
ファイルの遷移がうまく行われ...
-
PostgreSQLからCSV形式でエクス...
-
php エラー
-
HTML PHP ラジオボタンのイベント
おすすめ情報