問い合わせ完了ページの二重送信防止法

このQ&Aのポイント
  • 問い合わせ完了ページでの二重送信を防止する方法を探しています。
  • 以前の記事で紹介された方法がうまく動作しなかったため、他の方法を教えてください。
  • 更新ボタンを押下した際に再送信を防止する方法を知りたいです。
回答を見る
  • ベストアンサー

問い合わせ完了ページでの二重送信防止法

過去の投稿で同内容のものがあることを確認はしたのですが、そこで書かれていた方法がうまく動作しなかった(二重送信されてしまった)ので、再度質問させてください。 問い合わせフォーム(inquire.html)にて、送信ボタン押下後、 「お問合せ受付完了」のページ(inquire_send.php)を表示する流れになっているのですが、この受付完了のページにてブラウザの更新ボタンを押下すると、 「情報を再送信しないとページを更新できません」 というダイアログが表示され、同内容のメールを送信してしまうことになります。 この、更新ボタン押下時の二重送信を防止したいのですが、以前の記事に書かれていた「header("Location: ××.php");」では、思い通りの動作になりませんでした。 他に何か方法がありましたら、教えていただきたいです。 宜しくお願いします。

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

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

  • ベストアンサー
  • kosa
  • ベストアンサー率25% (379/1464)
回答No.1

「お問合せ受付完了」のページがPHPで作られたファイルになっているから更新を押したときに「情報を再送信しないとページを更新できません」となるのです。 HTMLで表示すれば問題ありません。 またheader("Location: xxx.php");では思い通りの動作になりませんでした。と書いていますが具体的にどうなったのでしょうか?

nachi0_0
質問者

お礼

回答ありがとうございます。 せっかく書いていただいたのに大変申し訳ございませんが、こちらの初歩的なミスによる結果でした。 header()自体を、フォームのメール送信処理以前に呼び出していたので、送信処理自体は何度でもリロードされてしまっていました。 理解度が不十分な状態で見よう見まねで作ろうとしていた結果のミスでした。 大変失礼しました。 また何か疑問点などあった際にはここを利用したいと思うので宜しくお願いします。

関連するQ&A

  • phpでの二重投稿防止について

    お世話になります。 php5にて二重投稿防止のスクリプトを考えておりますが、 なかなか良いものが浮かばず、検索でも見つけられないため質問します。 制作仕様としては、 1つのindex.phpの中に一言コメントを付けて送信するものなのですが、(twitterのような感じ) 更新ボタンを押すと「再送信~」というダイアログが出てしまいます。 別に確認ページや完了ページ等を設ければ、$_SESSIONやheader関数で解決するのですが、 どうしても同一ページ(index.php)内で全てを処理したいのです、何か方法があるのでしょうか? お手隙の方、ヒントをよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • goo 問い合わせについて

    お世話になっております。 先程gooメールについての問い合わせメールを送ったのですが、送信直後に、問い合わせ受け付け完了メールが1通 届きました。 しばらくすると、今度は 自動送信であるとの記載やgooID、問い合わせ内容など詳細が記載された受け付け完了メールが届きました。 2通とも送信元のアドレスは違います。 以前にも数回、ヘルプのページから問い合わせメールを送ったことはありますが、 受け付け完了メールは1通しか届かなかった気がします。 受け付け完了メールは2通届くものなのでしょうか? 教えてください。

  • 【JavaScript】二重送信防止

    いつもお世話になっております。 前に二重送信防止の事でご質問させていただきましたが、 新たな問題が出てきましたので、再度質問させてください。 現在、JSPで検索画面を作成しています。 検索を実行する際、検索ボタン(リンク形式)にJavaScriptにて 二重送信防止のプログラムを組み込んでいるのですが、 おかしな動きをする時があります。 検索ボタン押下での二重送信防止プログラムを起動させた場合、 真っ白な画面に遷移し、画面左上に"false"と表示される。 プログラムが悪いのでしょうか? 二重送信防止部分のコードを下記しますので、わかる方がいらっしゃいましたら、 ご教授願います。 ちなみに、検索条件入力エリアでエンターを押しても検索が可能なのですが、 エンターで二重送信防止プログラムを起動させた場合は、正常に動作し、 検索結果も返ってきます。 ------------------------------------------------------- // テキストエリアでエンターを押した際に実行 function toEnter(){  toSearch(); } sendFlag = false; function toSearch(){  if( sendFlag ) {   alert( "送信済みです。" );   return false;  } else {   document.SearchForm.submit();   sendFlag = true;   return true;  } } … // 検索実行呼び出し <a href="JavaScript:toSearch();"><img src="Search.png" alt="検索"></a>

  • HTMLにPHPを埋め込んでお問い合わせフォーム

    PHP超初心者です。 こんな感じの、お問い合わせフォームが含まれるHTMLページを作ろうとしています。↓ https://rdlp.jp/image/lp-archive/63361/full.jpg HTMLにPHPを埋め込んで作ろうと思っていて、 こちら↓ https://www.webdesignleaves.com/pr/php/php_contact_form_01.php を参考にしているのですが、 メール送信前に確認ページが表示されて、 OKだったら送信ボタンをクリックする、 修正する場合は戻るボタンをクリックしてもとのお問い合わせフォームに戻る(名前やメールアドレスなど入力した内容を残す)、 というふうにカスタマイズしたいのですが、 どのようにすればよいでしょうか。 (確認画面なしのフォームは実装済みです) カスタマイズでなくても、 ・確認画面あり ・二重送信防止機能あり ・自動返信機能あり ・バリデーション機能あり(お問い合わせフォームにエラーを表示)※添付画像(Web Design Leavesさんのページより) の4つを満たしている、別の作り方紹介ページをご紹介いただく形でもOKです。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 問い合わせの「送信ボタン」がうまくいきません。

    問い合わせの「送信ボタン」がうまくいきません。 ホームページ作成の初心者ですが、問い合わせページを作成して、 送信ボタンを作ったまではいいのですが(Dream Weaverにて)そこから 特定のメールボタン送信操作がうまくいきません。(ボタンを作成・・までは習ったのですが) 何か必要な、言語などあるのでしょうか・・・教えてください! ※詳細をつけたりしたほうがよいかとおもうのですが、すいませんわかりにくくて。

  • HP上で入力→内容をメールで送信

    初心者です。 まず、やりたい事を書きます。 1、訪問者がHP上でフォーム入力(名前、住所、問い合わせ内容など) 2、"入力完了"ボタンを押すと、"1"の入力内容が一覧になり表示される。 3、一番下に「この内容で送信しますか?」[OK],[戻る]のようなボタンがあり、 4、[OK]を押すと、その内容が私宛にメールで送信される。 これをHP上で実現するには、PHPの知識が必要だと聞きました。 急いでいるので、他に簡単な方法を探しています。 また、PHPのサンプルなどを見れるサイトを探しています。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • アンケートフォーム送信後の送信完了画面について

    ver9を使用しています。 よくHPで、アンケートフォームなど送信後、「送信ありがとうございました」旨の送信完了画面ページになると思うのですが、ホームページビルダーでは作成できないのでしょうか? 送信完了ページ作成後、アンケートフォームの送信ボタンからリンク設定をしてみたのですが、2回押さないと送信完了画面に移りません(1回目の送信ボタンクリックでフォームが送信されますが、そのままの画面です)。 宜しくお願い致します。

  • 処理の内容を別ページへ出力したい

    みなさま、どうかお知恵をお貸しください。 私はWebページやPHPについては、全くの素人であり、勉強しながら作成しています。 そのため、的外れな質問かもしれませんが、どうかご容赦ください。 以下のような動作を想定しています。 ・「ページA」へアクセスすると「ページA」に記述されたPHPのプログラムにより処理が実行され、処理結果を表示します。 ・この際、「ページA」には処理結果のみを表示します。 ・そして「ページA」に「詳細表示」ボタンを用意し、「詳細表示」ボタンを押下すると、「ページA」で行った処理の詳細内容を表示します。 そこで質問です。 「ページA」で行うプログラムはオブジェクトを多数利用しており、結果が毎回変化するため、DBやファイルによる保存は考えておりません。 そのため、PHPプログラムの途中で詳細内容を「ページB」へ出力しておき、「詳細表示」ボタンを押下すると「ページB」へ遷移しようと思います。 そこで質問ですが、「ページA」の処理で「ページB」へ出力することは可能でしょうか? PHP等の本で調べてはみたのですが、答えが見つからずに困っております。

    • ベストアンサー
    • PHP
  • 楽天の「お問い合わせフォーム」が送信できない

    楽天ヘルプのお問い合わせページでは、 STEP1が内容入力、2が推奨の項目確認・必要事項入力、3が送信完了とあります。 問い合わせ内容を入力し、その下の「次へ」をクリックしても、画面が変わりません(クリックはできます)。 最初は切り替わるのが遅いだけだと思いましたが、ずっと変わりません。 電源を切り、再起動して再度入力しましたが、変わらず。 他のサイトの問い合わせフォームは入力・送信できますので、楽天限定のようです。 楽天は電話で問い合わせができないので、問い合わせフォームが使えないと、問い合わせ自体ができず、困っています。 同じように、今日(10/22)問い合わせが進まない方はいますか? 解決方法をご存知の方がいれば、お教え下さい。 宜しくお願い致します。

  • メールフォーム:「必須項目」も「送信完了」画面もどちらも設定したい

    JavaScript初心者です。よろしくお願い致します。 JavaScriptを使用してメールフォームを作成しています。 「送信」ボタンを押した後、必須項目確認はJavaScriptで作成できました。 「送信」ボタンを押した後、「送信完了」画面(別ページに飛ぶ設定)もJavaScriptで作成できました。 しかし【どちらの動作も一緒に設定】しようとすると上手く動いてくれません。 FORMのonSubmit設定+「送信」ボタン自体に「送信完了」のアラート表示する方法も試してみたのですが「送信完了」アラートが先にでてしまったり…。 「送信完了」の方法は別ページリンクでもアラートでもかまいません。 必須項目+最後に「送信」を押して、送信された後の何かリアクションを入れる方法を探しています。 教えて!Gooも初心者で何か失礼がありましたら申し訳ありません!どうかよろしくお願い致します。

専門家に質問してみよう