ホームページ  >  記事  >  バックエンド開発  >  Web アプリケーションでのページ更新時の誤った再送信を防ぐにはどうすればよいですか?

Web アプリケーションでのページ更新時の誤った再送信を防ぐにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-17 20:09:02411ブラウズ

How to Prevent Accidental Resubmission on Page Refresh in Web Applications?

ページ更新時の誤った再送信を防ぐ: ベスト プラクティス

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。