• 締切済み

ブラウザの戻るボタンで重複登録されるのを防ぐ方法

WEBシステムを開発しています。 何らかのデータをDBに登録する際、WEB画面上の「登録ボタン」を押して登録します。 登録後、ブラウザの戻るボタンで登録前の画面に戻り、もう一度「登録ボタン」を押して、重複したデータが登録されることを防ぎたいのです。 簡単で手っ取り早い方法を、何かアドバイスいただけませんでしょうか?

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

noname#108428
noname#108428
回答No.1

送信された情報と、既に登録されている情報を比較し、 内容が同じなら棄却する。 クッキー等で、そのセッションからの送信は済んでいる…というフラグを立てる。 など、色々と考えられます。

tokumei529
質問者

お礼

ありがとうございました。

関連するQ&A

  • クリックを何回もされて、重複登録されるのを阻止する

    Perlでプログラミングしています。 あるフォームがあって名前とか住所とかを入力し、登録ボタンを押すとPerlCGIに内容が送られて、それらをファイル保存するシステムなのですが、せっかちな人が登録ボタンを何回もクリックすると、ファイルに重複登録されます。 あるいは、登録完了という画面から、戻るボタンでフォームに戻って、再度登録ボタンをクリックしても重複登録されます。 これらの重複登録を阻止する方法はないでしょうか。

    • ベストアンサー
    • Perl
  • 重複レコードについて

    もしご存知でしたらお教え下さい。 同じ番号(仮にここでは「受付番号」とさせて頂きま す。)でのレコードをDBに取込まないようにするには どうしたら良いでしょうか。 マクロ等でとかで組めますか? 尚、「受付番号」はユニークキーになっています。 簡単に仕様を書きます。 データを取込んだ際に、一時的にworkテーブルに展開 されます。 確認画面(=workテーブル)に「取込み」ボタンを実行 時に、初めて該当テーブルへの保存されるようになっ ています。 ちなみに確認画面では、手動修正は行えないのです が、「キャンセル」ボタンもあり、 実行時にはデータを取込まないようにしてあります。 そこで問題になったのですが、重複チェックの考慮を していなかった為、現状では同じデータが何回も何回 も登録されている為、取込む際に重複チェックを掛 け、同じ番号でのデータを取込まないようにしたいで す。 どのようにしたら実現できますでしょうか。 皆様の良きアドバイスをお教え下さい。

  • ブラウザを右クリックし最新の情報に更新をされたとき

    いつもお世話になっております。 Web系開発一ヶ月くらいの初心者です。 ・ASP.net(vb)で開発を行っています。  ブラウザの戻るボタンや更新ボタンは使えないようにしているの  ですが、ブラウザ上で右クリックを選択し最新の情報に更新を  選択すると、前回画面に入力し登録ボタンを押下する処理が  走りデータがまた新たに登録されてしまいます。  この、ブラウザの右クリックから最新の情報へ更新を選択された  場合にまた登録処理が走るのを回避する方法はあるのでしょうか?    session変数等を利用してというサイトは見つけたのですが、  開発規約でsession変数を使用しないとなっています。    どなたかわかる方がおられたらアドバイスをお願いいたします。

  • 戻るボタンの無効化について

    ブラウザの戻るボタンが無効化となっているシステムがあります。 利用者の操作性を考えると初期状態の有効となっていた方がよいと思います。 なぜわざわざ無効化とする必要があるのでしょうか? システム概要  ・ユーザIDとパスワードでログインする仕組みあり  ・DBに対してデータ登録、削除あり  ・利用者は社内の100人程度  ・開発言語はphp 理由の候補を以下のように私なり考えたのですが、 最終的な結論に至っていません。  ・ユーザのセッション管理のため  ・DBの整合性を保つため  ・セキュリティを高めるため  ・無効化とした方が開発しやすい 開発経験のある方、専門家の皆様どのようなことを考慮しているのか、 具体的な理由をお教えください。 参考となるURLなども教えて頂けると幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ブラウザの戻るボタン

    Windows7でIE9を使ってWEBブラウジングをしています。なんかこのごろ ブラウザの戻るボタンを押しても画面がもとに戻らないHPが増えているような 気がしますが、これはOSとかIEの仕様でしょうか。また、なぜ戻らないように なっているのか、仕組みがわかれば教えてください。前頁に戻す方法が あるのでしょうか。

  • IEでブラウザの戻るボタンで戻った際の挙動

    WEBのシステム開発をしてるものです。 現在symfonyのフレームワークを使用しWEB開発をしてるのですが ちょっとぶつかった箇所がありますので質問させて頂きます。 ちょい複雑なので説明不足になってしまうかもしれませんがご了承ください。 ある検索機能にてセレクトボックスやラジオボタン等を配置し 項目を選択後に検索ボタンをクリックするとthickboxにて、さらに細かい検索項目が開き thickbox内の検索ボタンを押すと検索結果画面が開くといった流れの画面を作成しています。 ※thickbox内で開くページには選択した項目をgetパラメーターで渡しているのですが その際のURLはjavascriptを使用し動的に作成しています。 ここでまでは問題なく出来たのですがここでブラウザの戻るボタンで問題が発生しました。 検索結果画面(thickbox後)でブラウザの戻るボタンを押し最初の検索項目選択画面に戻り 再度検索項目を選択→thickboxを開く→検索→検索結果画面 と手順を踏むと検索結果画面が一番最初に検索した内容で結果が表示されてしまいます。 しかしfirefoxではそのような事はおこりません。IE6,7,8すべてにおいて発生しました。 デバッグしながら一つづつ追っていったのですが javascriptでthickboxに渡すパラメーターの形成は正常に行われているのですが thickbox内のページのactionが読み込まれてない状態という事がわかりました。 正常パターン ・画面Aで検索項目を選択 ・検索ボタンをおす   ↓ ・action(thickbox内ページ用) ↓ ・thickbox立ち上がる   ↓ ・thickbox内でさらに検索項目を選択し検索ボタンをおす   ↓ ・action(画面B用) ↓ ・画面B検索結果が表示される といった流れになるべきだと思うのですが一度画面Bまで行った後に戻るボタンを押して画面Aに 戻った場合の挙動は ・画面Bから画面Aへ戻る(ブラウザの戻る)    ↓ ・画面Aで検索項目を選択 ・検索ボタンをおす    ↓ ・thickbox立ち上がる といった具合にactionを見てくれていません。 デバッグ方法としてthickbox用のactionを戻るボタンで戻ってきた際に echo 'test';exit; と入れて試しましたがスルーされてthickboxが立ち上がります。 firefoxの場合はtestと出力されて処理が止まってくれます。 正確には、actionを読んでくれていないというよりもthickboxの履歴を開いてるって感じが しっくりくるような気がしてます… 長文、乱文になってしまい申し訳ありませんが、 どなたか解決にとっかかりになりそうな情報をお持ちの方いましたらご教授願います。

    • 締切済み
    • PHP
  • ブラウザの戻るボタン

    いつもお世話になっております。 今回は戻るボタンについてお聞きしたいです。 ある認証が必要なページにログインし、作業終了後ログアウトを選択すると、ログイン認証画面に戻るものがあります。 このログイン認証画面に戻ってきた際、ブラウザの左上(IE,Firefoxの場合)にある戻るボタンを押下すると、ログアウト前の画面に戻ってしまいます。 そこで設定を変更したりなどはできませんが、できればその操作を無効にしたいのですが、ブラウザのボタンの操作を禁止したり、他の場所に飛ばしたりすることはできるのでしょうか? ご教授願います。

    • ベストアンサー
    • HTML
  • 戻るボタンって絶対戻るものなのですか?

    開発者サイドではないんですが、あるシステムをWEB化するにあたってちょっと気になってる点があります。 1.ブラウザを使うと「戻る」ボタンが使えるので考えている画面遷移を無視した遷移が出来てしまわないでしょうか? 「戻る」で誤った遷移をさせないようにするには、別に子供のウィンドウで表示させたりするのかなぁ?と想像していますが..それしかないのでしょうか?  2.それと、「戻る」を押しても戻らない制御を施してるページは、どんな技をつかってるんですか? どちらでも、ご存知のかたがおられたらお願いします。

  • JAVA ID重複処理

    お世話になります。 サーブレットでOracleに接続しブラウザ上からデータを追加出来るものを作っております。 その中で、登録ボタンをクリックした後、入力項目であるIDに重複があったらメッセージを出す処理を行いたいのですが、アドバイスをお願い致します。

    • ベストアンサー
    • Java
  • 違うフレームのデータを同時にデータベースに登録する方法

    いま、私はデータベースを作っています。 サーバーは、SQL2000、JavaScriptとColdFusionを使用しています。 そこで、分からないことがあるのでよろしくお願いします。 それは、INPUT画面上に、2つのフレームを準備して、「登録」ボタンを押すと、右側のフレームと、左側のフレームの両方のデータが同時にDBに登録されるというロジックの考え方を教えてください。 また、入力回数を減らすため、部署名、年度等のデータをDBに登録してもそこに変更を加えない限り値を残す方法はあるのでしょうか? 今の、状態ですと、DBにデータを登録するとINPUT画面のTextの欄がまっさらになってしまい、困っています。 よろしくお願いします。

専門家に質問してみよう