No.1ベストアンサー
- 回答日時:
はじめまして、webmonkeyさん。
これは・・、
送信処理を行うphpページを表示(アドレスバーに入力)状態で、リドロー
(更新や再読込み、アドレスバー上でリターン)された場合
※送信処理と完了アナウンスが同phpページに書かれている場合。
の解決という事であれば、2通り浮かびます。
案1)クッキー使用
案2)header()という関数を使用
案2の方が楽でかつ問題もないので、これをおススメします。
・ページとしては3ページ用意
P1. 入力フォーム(送信ボタンおき)
P2. 送信実処理およびheader()文のみ※HTMLタグは一切かかずphpコードのみ
P3. 完了アナウンスページ
・header()の指定は、「header("Location: XX.phtml");」
※XX.phtml にP3を指定。(htmlファイルでもいいですし、引数指定も可能)
補足)
header()を呼び出したページはhistory(履歴)情報に残らないという特徴があります。
その為、たとえブラウザで「戻る」指定されても、送信実処理ページはもどらず、
入力フォームに戻ります。
※この対処方法は、ただ送信処理と完了アナウンスをページ分けしただけではありません。
※入力フォーム上から再「送信」は、この対処方法では回避は無理です。
ちょっと本題からは外れた操作ですし。
注)header()呼出前に標準出力があると、header()はうまく動作しません。
<? ?>以外でHTMLタグ、ただの改行がはいっただけでも駄目なので注意して下さいね。
備考)
・案1のクッキー使用では、ブラウザの戻るやリドローに関係なくクッキーは最新
の情報を保持しているため、1度送信処理したら、「もうこの送信処理はおわったよ」
と情報をクッキーに書いて、送信処理のphpコード部でこのクッキー値を参照し、
二重処理を行わないようにできます。
※ただし、クッキーのクリアの確立とか色々面倒になると思うので、あまりおススメ
できないかな・・と。
他にも方法があるかもですが、参考までに。
頑張って下さい。
この回答へのお礼
お礼日時:2002/01/30 12:33
解答ありがとうございます。
参考になりました。
ご指摘とうり同一ページで作っていました。
案2)の方を利用して修正したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 訴訟・裁判 売春防止法違反 5 2022/04/25 16:30
- PHP フォームで戻った際に入力済みの値が残るのを消したい 3 2023/02/17 13:58
- Facebook 「グレーアカウントに対する対応が必要です」という通知の対応について 2 2022/04/14 09:43
- ドメイン・サーバー・クラウドサービス ドメイン登録 1 2022/12/24 12:09
- 教えて!goo 同じ質問を繰り返す投稿者 6 2022/05/24 11:44
- その他(IT・Webサービス) [PayPay銀行キャッシュカード拾得の件] このメールは本物か? 6 2022/09/15 21:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヒアドキュメントを利用してメ...
-
HPの更新をしたら自動でメール...
-
PHPでメール送信を行う場合、SS...
-
javamailで220の応答が遅い
-
VB.NET、ASPでメールの自動返信...
-
コマンドプロンプトで添付ファ...
-
Q)PHPでメール送信について
-
ワードプレス、Contact Form 7...
-
リファラが取得できない?
-
一定時間毎に同じ動作を繰り返...
-
onedrive にexcelファイルをア...
-
phpでPEAR::DBを使っているので...
-
フォントの色を変えるには?
-
php5-extensions を make でき...
-
PHPのみでの背景色は指定できる...
-
リンク先を隠す方法はないでし...
-
index.phpって何ですか? 具体...
-
トランザクションが原因?DBに...
-
CFileDialogの最初のディレクト...
-
2つの画像ファイルが異なるファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
存在しないメールアドレスかど...
-
VB6にてメールを送信する方法
-
VBでメールを送る時のSMT...
-
submitボタンの二重送信について
-
コマンドプロンプトで添付ファ...
-
メールアドレスの存在確認はで...
-
【エクセルVBA】メール送信前に...
-
ループの中で mailItemObj.Disp...
-
【追加】ファイルを閉じてダイ...
-
ヒアドキュメントを利用してメ...
-
JavaMailでエラーメールの通知
-
送信日時を指定してメールを送...
-
ロリポップと、phpで自動の返信...
-
VB.NETでフリーメールアドレス...
-
★エクセルVBAでOutlookのメール...
-
SMTPサーバの指定なしでメ...
-
AccessのDoCmd.SendObjectについて
-
ブラウザの更新ボタン
-
HPの更新をしたら自動でメール...
おすすめ情報