• ベストアンサー

CGIで ブラウザの更新ボタンの設定

たびたびですが教えてください。 CGIで画面入力させてますが、入力後空白表示された現で、 ブラウザの更新ボタンを押すと、前回画面入力した値が再度 読み込まれてしまいます。 解消法とかはないのでしょうか?

  • KIMV
  • お礼率10% (83/770)
  • CGI
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • flame
  • ベストアンサー率100% (3/3)
回答No.2

CGIで入力されたデータを処理したあと、Locationヘッダで別のURLに移動させれば、表示されたページをリロードしても、フォームで入力された内容は再送信されません。 たいていの掲示板スクリプトでも同様の処理を行っていると思うので、参考にしてみてください。

参考URL:
http://www.google.com/search?hl=ja&safe=off&q=Location+%83w%83b%83_+cgi&lr=

その他の回答 (1)

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.1

JavaScriptで、項目に空白を入れればいいと思います。

参考URL:
http://tohoho.wakusei.ne.jp/www.htm

関連するQ&A

  • ブラウザの更新ボタンでセッションを破棄したい

    すべて同一ページ内で処理と画像の表示などをしています。 一番初めにそのページにアクセスした場合、ダウンリストなどしかなく、 その情報を送信したら、それに応じたものをその表示スペースに表示させるものなのですが、 ブラウザの更新ボタンを押すと、再送信してまた同じページがでてきてしまいます。 できれば一番初めの画面に戻りたいのですがどうすればいいでしょうか?

    • 締切済み
    • PHP
  • javaのstrutsを使った画面遷移で戻るボタンを押した時、値を残すには

    javaのstrutsを使って、検索画面を作成しています。 検索条件入力画面で、テキストボックスや、セレクトボックスに 値を入力し実行した後、検索結果画面を表示し、ブラウザの戻る ボタンを押した時に前回入力した値を残しておきたいのですが、 どうすれば良いでしょうか。 宜しくお願いします。

  • ブラウザの「更新」を押すと何回も同じ内容が登録される

    サーブレット作成しています。 webから入力した値をaccessに登録しているのですが、 ブラウザの「更新」を押すと、同じ内容がまた登録されてしまいます。 大分むかし、perlでcgiを作成していましたが、 同じことがあったような気がしますが・・ どのようにしたら回避できますか? 教えてください。

  • ページを更新できないようにするには

     Rubyで掲示板システムを作成しています。  CGIでフォームで書き込みをした後に表示されたページで,ページの再読込をすると,再び書き込まれた風になってしまいます。CGIの処理の方法は, Web上:  掲示板のフォーム内のhiddenフォームでCGIのcase文で書き込みを行うプログラムへ移行するように値を設定してある。送信ボタンを押すと,CGIを呼び出し,   ↓ CGI上:  hiddenの値から,書き込みのプログラムであるとcase文で分岐させ,受け取ったフォームの値を書き込む。書き込んだ後,そのプログラムから掲示板を表示するプログラムを呼び出し,printでHTMLソースを渡す。   ↓ Web上:  掲示板が表示される。 (CGIのプログラムは書き込みも表示も同じファイルで行い,その動作はhiddenフォーム内のmodeの値で分岐してある) のような流れになっています。printで表示されているので,ブラウザのurlに,書き込みの動作を行うhiddenフォームの値その他の入力されたデータが残っているからだと思います。  そこで,ブラウザの方から更新(できれば戻る,進むも)を使えないようにできないでしょうか。  ご教授お願いいたします。 (ちなみにCGIのプログラムの方で再読込をしても書き込まれないようにできるのでしょうか)

  • ブラウザとCGIアプリの関係?!

    なんとなく想像はできるものの、正しいかどうか確認させていただきたく 質問させていただきます。 WEBアプリですが、例えば 「ブラウザの処理実行ボタン」クリック→「CGIアプリ」→「結果表示」 のような流れだったとして、 処理実行ボタンをクリックしてすぐにブラウザを閉じた場合、CGIアプリはどこまで処理が行えるのでしょうか? ※CGIアプリの処理はブラウザを閉じるまでの時間よりは長いとした解釈でお願いします。 CGIアプリがreturnで抜けるまで、ブラウザはなくても処理は行ってから終了。 また、 returnの前にブラウザに出力していたら、(ブラウザは無いわけで)returnの前にCGIアプリは終了してしまう。→処理途中で終わってしまうことがありえる よろしくお願いします。 わかりづらかったら、申し訳ありません。

    • ベストアンサー
    • CGI
  • perl/cgiについて、教えて下さい。

    perl/cgiについて、教えて下さい。 下記のようなことを、行いたいと考えています。 とりあえず、  a.html  b.html  c.html があり、 __________________________________ 1:それぞれ、フォームに、テキストボックスが一つあります。 2:他のフォームに遷移できます。(例:a.htmlからc.hmtlのように) 3:各フォームに「A、B、Cの値を確認」ボタンがあります。 4:3のボタンをクリックすると、各テキストボックスで入力した 値が表示される。 【イメージ】 a.htmlのテキストボックスに、100を入力 b.htmlのテキストボックスに、200を入力 c.htmlのテキストボックスに、300を入力 した場合。 Aで入力された値は100です。 Bで入力された値は200です。 Cで入力された値は300です。 ______________________________________ と表示させる、cgiを作成したいです。 又、その際、hiddenを使用して行う方法(手順)を教えて頂けないでしょうか。 ファイルに書き込むことで、値を保持しておくのではと 考えましたが、a.htmlの値100を書き込み、再度、a.htmlの 値を書き込むと、a.htmlのフォームから送られた値が2つ(1回目、2回目)書き込まれた 状態になるように思います。 今回のように、例えば、ファームの入力値を保持して他の(b.thmlなど)に 遷移し、ボタンをクリックすると、全フォームの値を表示するような場合、 どのような方法が考えられるのでしょうか? どうぞ、宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • Webサイトを自動更新させたい

    小さいクリニックを経営しています。 前回の質問同様、受付(診察)番号を画面に表示するシステムを業者に頼らず設置しようと思っています。 受付番号はWebに設置したCGIで表示することにしたのですが、値を変えるたびにブラウザを手動で更新するのはちょっと不便だと感じました。 なのでチャットのような、番号の書き換えがあったら自動的に値を変更して表示する、というシステムを設置しようと思います。 どのようなスクリプトを使ったら良いでしょうか。 よろしくお願いします。

  • 更新ボタンを押されたときにフォーム内容をキャッシュさせたくない

    現在問い合わせ等に使うフォームを作っています。 実現したいことは、 「フォーム入力後OKボタンを押したあと入力内容の確認画面でブラウザの戻るボタンを押した場合に、ページの有効期限切れを表示させずに入力した内容をそのまま表示したい」 ということなのですが、session_cache_limiter("none");とした場合、たしかに入力内容はそのまま表示されるものの、今度は更新ボタンを押そうが別の画面に一度飛ぼうが、スクリプトを読みに行ってくれず入力内容がずっと表示されっぱなしになってしまいました。 あれこれ検索したところ、「ページ生成のたびにURLのパラメータにランダムな(ユニークな)値を付け加えればページを読み直してくれる」という話が出てきたのですが、具体的にどのようにやればよいのでしょうか。あるいは他に妙案があるでしょうか。 現在の構成は、 入り口となるHTML(PHPで出力)にフォームへのリンク(<a href=form.php>フォームへ</a>)をもうけ、フォーム専用スクリプトに飛ばしています。

    • 締切済み
    • PHP
  • perl/cgiについて、教えて下さい。

    perl/cgiについて、教えて下さい。 行いたい事ですが、 1:a.html(テキストボックスとsubmitボタンがあるだけです) 2:b.html(テキストボックスとsubmitボタンがあるだけです) 3:c.html(1,2のテキストボックスの内容を表示するだけです。) 4:x.cgi があります。4のcgiにはまだ何も記述していませんが、1,2のテキストボックスで入力した値を c.htmlに表示させたいと考えています。 又、c.htmlで値を変更すると、1,2のテキストボックスの値も連動して変わるようにしたいです。 例)a.htmlのテキストボックスで「13」と入力してsubmitボタン押下。c.htmlに「13」が表示される。 c.htmlで「13」を「22」に変更すると、a.htmlのテキストボックスの値も「22」になるといったイメージです。 どうぞ、宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • CGI,Perlで下記のようなことを、行いたいと考えています。

    CGI,Perlで下記のようなことを、行いたいと考えています。  a.html  b.html  c.html があり、 __________________________________ 1:それぞれ、フォームに、テキストボックスが一つあります。 2:他のフォームに遷移できます。(例:a.htmlからc.hmtlのように) 3:各フォームに「A、B、Cの値を確認」ボタンがあります。 4:3のボタンをクリックすると、各テキストボックスで入力した 値が表示される。 【イメージ】 a.htmlのテキストボックスに、100を入力 b.htmlのテキストボックスに、200を入力 c.htmlのテキストボックスに、300を入力 した場合。 Aで入力された値は100です。 Bで入力された値は200です。 Cで入力された値は300です。 ______________________________________ と表示させる、cgiを作成したいです。 又、その際、hiddenを使用して行う方法(手順)を教えて頂けないでしょうか。 ファイルに書き込むことで、値を保持しておくのではと 考えましたが、a.htmlの値100を書き込み、再度、a.htmlの 値を書き込むと、a.htmlのフォームから送られた値が2つ(1回目、2回目)書き込まれた 状態になるように思います。 今回のように、例えば、ファームの入力値を保持して他の(b.thmlなど)に 遷移し、ボタンをクリックすると、全フォームの値を表示するような場合、 どのような方法が考えられるのでしょうか? どうぞ、宜しくお願いいたします。

    • ベストアンサー
    • CGI