[PHP-users 20876]ブラウザ更新ボタンでメールが再送されてしまいます・・

MAD 田中武義 tanaka @ mad-peppo.co.jp
2004年 3月 22日 (月) 09:15:56 JST


はじめまして。
田中と申します。
皆様のスレッドを拝見して参考にさせて頂いています。


私、PHP・・というよりもプログラミング超初心者です。
ですので的外れなご質問をするかもしれませんが恐る恐るの投稿です・・何卒ご容赦
下さい。

現在PHPの勉強がてらメール送信フォームを作成しています。
流れとしては

入力画面(ファイル1)→入力内容確認画面(ファイル2)→送信完了画面(ファイル3)

という至極簡潔なスクリプトです。
それぞれ別ファイルに記述しています。

詰まってしまっているのはメールを送信させるmail()関数の制御です。
もしくはブラウザの更新ボタンの制御といった方が正しいのでしょうか?・・・

1・ファイル2(内容確認画面)でsubmitされるとファイル3(送信完了画面)でまず入力
データを再度チェック。
2・問題がなければmail()関数によりメールを送信。
3・その返り値true/falseによってif文分岐で完了画面の表示/送信失敗画面の表示

という処理の流れです。

ここでmail()関数での処理が正常に終了したあと、表示された送信完了画面で
ブラウザのページの更新ボタンをクリックすると再度メールが送信されてしまいま
す。(当たり前のことですが・・・)

header関数のlocationによるリダイレクトで制御してみようと試みたりはしてみたの
ですが、
いかんせん知識不足です。まったく上手くいきません。

このブラウザのページ更新ボタンクリック時のmail関数の挙動を、
クッキーではなくsession管理で制御するなどの方法はあるのでしょうか?
的外れな質問かもしれませんが、是非とも寛大にご教授下さい・・・。宜しくお願い
します。


---------------------------
田中
E-mail: tanaka @ mad-peppo.co.jp
---------------------------




PHP-users メーリングリストの案内