• ベストアンサー

IEのリロードボタンを押すとデータを更新してしまう

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

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

リロードというのはどのブラウザでも、queryやpostデータの送信も全て実行するようになっています。 「2重投稿防止」で検索すると、そのような機能付きperl bbsの配布サイトが多数ヒットします。 どのように、やっているのか、いくつか見てみるのも勉強になるでしょう。 1.単純には、前回データと全く同じかチェックして、同じなら取得データの登録はしないで、ページ出力 2.上記出力のところを、query無しのurlでlocationヘッダー出力 3.掲示板などでアクセスが多いとその間に別の人が投稿していてということもあるので、 cookieも併用するなども必要かも。 4.最初の登録の時に直ぐにページ出力しないで、locationヘッダーで、query無しのurlへreloadを掛けてしまうというのもありました。

diamond2003
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 戻るボタンを押すとリロードされてしまう・・!?

    入力エリアがある画面を作成したのですが、 その画面からsubmitで次の画面を開いて、戻るボタンを押すと、 入力したはずの情報が消えているのです。 すぐに戻るボタンで戻った場合は、消えてないのですが しばらく時間がたつと、リロードされたような状態になって 入力情報が消えてしまうのです。 戻るボタンでパラメータ渡し等行わずに 一定の時間がたっても、前回情報を保持したままにしておくにはどうしたらよいのでしょうか? 回答を宜しくお願いしますm(_ _)m

  • IEで 画面移動させず FLASH だけ リロードは できますか?

    IEで 画面移動させず FLASH だけ リロードは できますか? こんにちは お尋ね致します。 作成したサイトの、少し長目のページの下の方に、 FLASH を 設置してありまして FLASH だけを 再度、見てもらうために、 少し調べて、再読込み(リロード)のために、 下記フォームを使った(更新ボタン)を設置致しました。 <form> <input type="button" value="もう一度 見る" onclick="window.location.reload();"> </form> これを使って試めしたところ、 Chrome や Firefox などの ブラウザは、 少し長目ページの、下の方の、同じ場所で、 画面移動もせずに、FLASH だけが リロードができるのですが、 IE8 では、上記を使うと、画面自体がページトップに飛んでしまい 肝心のページ下の FLASH の リロードが、見られない様になってしまいます。 お尋ねは、IE であっても、少し長目ページ下の、そのままの位置で、 そこそこ簡単に、FLASH だけの リロードを、行える方法があるか・・・ どうかです。 何か良い解決方法がありましたら よろしくお願い致します。    

    • ベストアンサー
    • HTML
  • リロードしても更新データが残るようにする方法教えて

    ジャバスクリプトについてはまったくの素人です。 ジャバスクリプトを使って ラジオボタンで表示する画像をかえる機能を下記サイトから見つけました。 http://www.sky.sannet.ne.jp/masapine/java_gazou.html この機能を同一Webページ内で繰り返して表示するやり方を最近OKWaveでご指南頂き、この 件については解決しました。 http://okwave.jp/qa/q6811231.html (ありがとうございます。) しかしながら、このページをリロードすると、元の状態に戻ってしまいます。 先のサイトで言えば「ねこ」を選んでもリロードするとデフォルトの「パンダ」に戻ってしまいます。 長くなりましたが、今回の質問は、これを、更新したデータがリロードしても残るようにしたいのですがその方法を教えて頂けないでしょうか。 やはりデータベースなどの知識と技術が必要でジャバスクリプトだけではできない問題なのでしょうか? どなたか教えて頂ければ幸いです。 宜しくお願いします。

  • IE7.0に変更したらリロードが多発

    今年になってブラウザをIE7.0にアップしました。 それ以来、下記のような現象が繁雑に起こります。 今更、IE6に戻す気も無いし、リロードすることで解決はするのですが腑に落ちません。 ・URLを開くと左下に「ページが表示されました」と出るが、表示は正常でない(ロード途中で停止したと思われる中途半端な画面) ・リロードすることで正常となる。1回のリロードで正常になることが大半であるが、時に数回のリロードが必要な場合がある。 原因にお心当たりのある方、アドバイスよろしくお願いします。

  • 「Internet Explorer(IE5.0)」の更新ボタンについて

     お世話になります。  ふとした疑問なのですが、IEで更新ボタンを押したら新しい情報を Webサイトからリロードしてきますよね? しかし、それでも新しい 情報が得られないときもあるようです。そのときは、コントロールキー を押しながら更新ボタンを押すと、キャッシュした情報にアクセスせ ずに新たな情報をきちんと読んできてくれるみたいですが、では、だっ たらなぜ更新ボタンが存在するのですか? どういったときにコント ロールキーを押す必要があるのですか? 普通に考えたら、常にコン トロールキーを押す必要があるなら、更新ボタンの意味が薄れるよう に思うのです。  どなたかご存じの方がいらっしゃいましたら、お教えください。  よろしくお願いします。

  • リロード時

    送信ボタンを押すと一度リロードしてから送信するフォームを作ろうとしているのですが、  location.reload() でリロードすると入力されていたテキストフィールドの中身が空になったり、チェックボックスのチェックがはずれたりします。入力されたデータはそのままでリロードだけするいい方法はないでしょうか?

  • キャッシュ効かないリロードじゃないとカウンタ増えない

    普通にページをリロードボタンを押してもカウンタが増えません。 カウンタの表示は画像ではなく数字をそのまま表示しています。 コントロールボタン押しながらリロードボタンを押すと カウンタは増加します。(Win2000、IE6) 画像で数字を表示しないと駄目なんでしょうか?

    • ベストアンサー
    • CGI
  • ブラウザの「戻る」ボタンを押した時にリロードさせる

    ブラウザの「戻る」ボタンを押して前のページに戻った時に1回だけページを リロードさせたいのですが、IEでは下記のようにすれば上手く出来ました。 <script type="text/javascript"> <!-- window.onunload = function(){location.reload();} --> </script> しかしながら、上記では他のブラウザ(Firefox・Opera・Safai・Google Chrome等)では リロードされません。 全てのブラウザで上手くリロードさせる方法はないでしょうか。 宜しくお願い致します。

  • ブラウザのリロードとは?

    あるサイトがリニューアルして、表示がうまく行ってるのかどうかを見るのに、「ブラウザのリロードボタンを押すか、キュッシュをクリアしてリロードする」とあり、素人の私には理解不能です。何方か、素人にも分かるような回答をお願いいたします。(因みに現画面は正常ではないかと思っています)

  • IE9の戻るボタン

    Win7を使用しています。 IE8の時の比較になるのですが、 IE8の時は画面左上の戻るボタンの横に、プルダウンになり、 過去の閲覧ページの一覧が表示されて、 戻りたいページを選ぶことができましたが、 IE9の時は、戻るの矢印ボタンだけで、1ページずつ戻る形です。 IE9でも、1ページずつではなく、 例えば5ページ前など、任意の箇所に戻る方法はありますか? 何か設定によって表示できるようになるのでしょうか? よろしくお願いします。

このQ&Aのポイント
  • 息子が怒られなくてもいいような場面で怒られることが多いんです。
  • 親としては、そうじゃないのにと思いつつも第3者目線からそう言われたから受け止めるべき、理由がわかっていたとはいえ、注意をしなかったわたしも悪かったかなと、感じてます
  • こういうの経験ある方はいないでしょうか?対応方法などアドバイスあれば教えてもらいたいです、お願いします。
回答を見る