ホームページ > バックエンド開発 > PHPチュートリアル > フォーム更新後の重複送信を防ぐにはどうすればよいですか?

フォーム更新後の重複送信を防ぐにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-12 05:19:02
オリジナル
694 人が閲覧しました

How to Prevent Duplicate Submissions After Form Refresh?

更新処理による重複送信の防止

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート