- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォーム送信後の戻るボタンの挙動について
)
フォーム送信後の戻るボタンの挙動について
このQ&Aのポイント
- PHPでホームページの一部を更新できるシステムを作りました。通常だと確認ページからブラウザの戻るボタン、もしくは画面内の戻るボタンを押すと、編集ページに戻り、入力時の情報がフォーム内に残っているのですが、ある条件下でこの挙動がおかしくなります。
- 編集ページを開いてから10分程度待ってから入力・送信後に確認ページから戻ると、編集ページのフォーム内に入力したはずの入力情報が消えてしまいます。おそらくサーバ(Apache)かPHPの設定によるものだと思うのですが、考えうる設定としてどんなものがあるのでしょうか。
- この問題に対する解決策や対処方法も教えていただけると助かります。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
事実としたら、不可解な現象ですね。 クライアント側の問題でしょうから、Apacheは関係ないでしょう。 PHPそのものも関係ないと思います。 ありえるとしたら、吐き出されるHTMLなのですが、そのような設定は聞いたことがありません。 ブラウザの戻る、と画面内の戻るを記述していますが、画面内の戻るは、history.back()ということなのでしょうか。 history.back()でなく自前の戻るなら、入力情報を返してあげないと再表示されませんよ。 編集ページを開いてから10分程度待ってから、というのが不可解すぎです。確認ページを開いてから10分程度待ってから、であればまだしも。 ただ、今、私が開発しているJavaのアプリでもやや思い当たるところがあります。ふとしたときにブラウザの戻るをしたとき、入力内容が消えているような。 IE8あたりの新機能(?)なのかもしれません。
お礼
解決しました。 新しいタブを開くとキャッシュが削除されるIEのバグでした。 参考:http://d.hatena.ne.jp/wonohe/20090224/1235440984 キャッシュの保存期間を明示することで対応しようと思います。 ありがとうございました。
補足
早々のご回答ありがとうございます。 どうやら編集ページを開いている時間が問題のようです。 いつ入力をおこなっても、10分以上経過するとその時入力した内容が戻ったときに表示されません。 やはり、クライアントの問題でしょうか。だとしたらクライアント側にそのような設定があるのでしょうか。 また、戻るボタンはhistory.back()。ブラウザはIE7です。