POSTメソッドで渡された値を使って登録処理を行う画面で、処理が終わった後にブラウザの再読み込みボタンを押されると、同一処理が繰り返されて、2重登録が発生しました。
開発中のデータベースへの反映やメール送信の動作確認をするには便利ですが、本番では都合が悪いので対処することにしました。
対処方法
データベースへの反映やメール送信の処理が終わった後に、ブラウザのURL欄に表示されているURLへ遷移するGETメソッドを発生させました。PHPでの開発なので、ソースコードは以下のようになりました。
$location = 'Location: ' . (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
header($location);
exit(0);
単純な方法で対処ができました。