- ベストアンサー
IEのリロードボタンを押すとデータを更新してしまう
お世話になります。 前の画面で入力されてきたデータをQUERY_STRINGから取り込んでファイルに書き出すというプログラムを作っているのですが、IEのリロードボタンを押すと、もう一度同じデータをファイルに書いてしまいます。再表示だけにするにはどうすればいいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
リロードというのはどのブラウザでも、queryやpostデータの送信も全て実行するようになっています。 「2重投稿防止」で検索すると、そのような機能付きperl bbsの配布サイトが多数ヒットします。 どのように、やっているのか、いくつか見てみるのも勉強になるでしょう。 1.単純には、前回データと全く同じかチェックして、同じなら取得データの登録はしないで、ページ出力 2.上記出力のところを、query無しのurlでlocationヘッダー出力 3.掲示板などでアクセスが多いとその間に別の人が投稿していてということもあるので、 cookieも併用するなども必要かも。 4.最初の登録の時に直ぐにページ出力しないで、locationヘッダーで、query無しのurlへreloadを掛けてしまうというのもありました。
お礼
丁寧に教えていただきありがとうございます。おかげ様で一歩前進です。 「2重投稿防止」で検索していろいろ参照もしてみます。