PHPでのフォーム送信とデータベースへの保存、リダイレクト
以下のようなフォームがあるとします:
<form method="POST">
<input name="test1">
<input name="test2">
<input type="submit">
</form>
このフォームのデータをデータベースに保存してみましょう:
<?php
if (!empty($_POST)) {
// データベースに保存する
}
?>
しかしここで問題が発生します:ブラウザのページを更新すると、 フォームが再度送信され、データの重複が発生してしまいます。
この問題を解決するには、フォームを保存した後に 同じページへリダイレクトする必要があります:
<?php
if (!empty($_POST)) {
// データベースに保存する
header('Location: form.php');
die();
}
?>
フォームを作成し、送信後にデータベースへ保存する機能を実装してください。 送信後の重複保存を防ぐ処理を追加してください。