Web アプリケーションでは、フォーム送信後のページ更新による誤ったデータの重複という一般的な問題に対処することが不可欠です。この問題は、フォームの送信でデータベースの挿入などの操作が実行され、その後の更新により望ましくないデータの冗長性が生じる場合に生じます。
この問題を解決するには、同じページに応答を表示しないことがベスト プラクティスです提出後。代わりに、アクションが完了したらユーザーを別のページにリダイレクトします。
質問で提供されているサンプル コードを検討してください。
<?php if (isset($_POST['name'])) { // Database operation (e.g., inserting $_POST['name']) echo "Operation Done"; die(); } ?>
このシナリオでは、フォームを送信すると、データがデータベースに挿入され、ユーザーには「操作が完了しました」というメッセージが表示されます。ただし、その後ページが更新されると、フォーム送信コードが再度実行され、重複したデータが挿入される可能性があります。
この問題を回避するには、次の修正されたコードを検討してください:
<?php if (isset($_POST['name'])) { // Database operation (e.g., inserting $_POST['name']) // Set a success flash message (assuming you're using a framework) header('Location: /path/to/record'); exit; } ?>
重要なポイント:
以上がWeb アプリケーションでのページ更新時の誤った再送信を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。