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で質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
値だけ送信してページは遷移さ...
-
accessでフォームを希望の入力...
-
Zend framework リダイレクトで...
-
メールフォームの確認画面が表...
-
大学の出欠確認でQRコードを読...
-
掲示板のセキュリティについて...
-
appleのようなお問い合わせフォ...
-
初歩的な事だと思います。 Sub...
-
ビジネスメールの敬称
-
エクセルVBA テキストボックス...
-
指定した演算を実施の結果を表...
-
数字以外の入力をエラーにする...
-
テキストボックスの番号を使っ...
-
お問い合わせフォームから送信...
-
excel vba でユーザーフォーム...
-
VBAでInputBoxの再入力をさせる...
-
教えて!全角文字「μ」の半角
-
TETXの入力制限について色々と…
-
httpリクエストの送り元の特定
-
GmailのSMTPを用いたメールフォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php 確認表示画面で値をSESSION...
-
ワードプレスプラグイン MW WP ...
-
掲示板のセキュリティについて...
-
htmlからbatファイルを起動する
-
アイフォン使ってたらちょくち...
-
WordPressで画面還移なしの掲示...
-
ページ移動した場合の、フォー...
-
非同期通信で掲示板を作る際の...
-
メール送信フォームとhistory.b...
-
ヤフージャパンへの問合せ 「次...
-
大学の出欠確認でQRコードを読...
-
子画面から親画面に値を返す方法
-
ブラウザの「戻る」ボタンを押...
-
戻ると入力したフォームの内容...
-
VB2005 複数のフォームを同時...
-
入力フォームの確認画面からの...
-
メールフォームに添付ファイル...
-
docomoのsimロック解除について
-
accessでフォームを希望の入力...
-
値だけ送信してページは遷移さ...
おすすめ情報