更新処理による重複送信の防止
Web 開発では、更新後にページが更新されるときに重複送信の問題が発生することがよくあります。フォームの提出。これに対処するには、次のアプローチを検討してください。
次のようなコード スニペットがあると想像してください。
<?php if (isset($_POST['name'])) { // Database operations... echo "Operation Done"; die(); } ?> <form action='page.php' method='post' name="myForm"> <input type="text" maxlength="50" name="name">
このフォームを送信すると、提供されたデータがデータベースに挿入されます。成功メッセージが表示されます。ただし、ページを更新すると、データはデータベースに再送信されます。
解決策: 送信後にリダイレクト
この重複を回避するには、次のようにします。操作の完了後、同じページに応答を表示しないことが重要です。代わりに、新しいページにリダイレクトします。
// Database operations... // Set success flash message. (Assuming you're using a framework) header('Location: /path/to/record'); exit;
送信後にリダイレクトすると、ページを更新してもリダイレクト先の新しいページに対する GET リクエストのみがトリガーされ、重複した送信が防止されます。
>以上がフォーム更新後の重複送信を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。