重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります。

前の画面で入力されてきたデータをQUERY_STRINGから取り込んでファイルに書き出すというプログラムを作っているのですが、IEのリロードボタンを押すと、もう一度同じデータをファイルに書いてしまいます。再表示だけにするにはどうすればいいのでしょうか?

A 回答 (1件)

リロードというのはどのブラウザでも、queryやpostデータの送信も全て実行するようになっています。


「2重投稿防止」で検索すると、そのような機能付きperl bbsの配布サイトが多数ヒットします。
どのように、やっているのか、いくつか見てみるのも勉強になるでしょう。

1.単純には、前回データと全く同じかチェックして、同じなら取得データの登録はしないで、ページ出力
2.上記出力のところを、query無しのurlでlocationヘッダー出力
3.掲示板などでアクセスが多いとその間に別の人が投稿していてということもあるので、
cookieも併用するなども必要かも。

4.最初の登録の時に直ぐにページ出力しないで、locationヘッダーで、query無しのurlへreloadを掛けてしまうというのもありました。
    • good
    • 0
この回答へのお礼

丁寧に教えていただきありがとうございます。おかげ様で一歩前進です。
「2重投稿防止」で検索していろいろ参照もしてみます。

お礼日時:2004/12/02 06:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!