• ベストアンサー

二重に登録されてしまう。

こんにちわ。現在、商品を入力フォームから入力→確認→完了として それぞれ3つのファイルにわけ、DBに登録しているのですが、この完了画面の時に更新ボタンを押すと登録した商品がまた登録されてしまうのです(りんごと登録したあと完了画面で更新ボタンを押すとりんごがもうひとつ登録されている)この二重登録を防止する方法はないのでしょうか?ご回答をお待ちしております。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

・プライマリーキーではじく。 ・すべてのデータをみて同じデータがある場合ははじく。 ・登録画面で、登録が完了した時点で、別ページに とばし、更新ができないようにする。 などが考えられます。

msnxl
質問者

お礼

ありがとうございます。「登録画面で、登録が完了した時点で、別ページに とばし、更新ができないようにする。」をしたとことろ、二重登録を防ぐことができました。

その他の回答 (1)

noname#49664
noname#49664
回答No.1

ひょっとして、完了のページ内で登録処理を行っているんじゃないでしょうか。そうすると、ページを更新した際にまた当力処理が実行されてしまいます。 登録処理と完了の表示画面を分けては? 入力→確認→登録→完了 このようにするわけです。 確認から登録のPHPページを呼び出します。ここではデータベースの登録を行った後、header関数で完了表示のページにリダイレクトします。完了ページは、ただ単に完了したことを示す表示のみにします。

msnxl
質問者

お礼

おっしゃるとおり、完了のページ内で登録処理を行っていました。ご提案の通り、登録処理と完了の表示画面を分けたところ、 二重登録を防ぐことができるようになりました。 ありがとうございました。