検索

ホームページ  >  に質問  >  本文

ページ更新時にフォームの再送信を防ぐ方法 (F5/CTRL+R)

<p>SQL テーブルにテキストを送信する単純なフォームがあります。問題は、ユーザーがテキストを送信した後、フォームに再度入力しなくても、ページを更新してデータを再送信できることです。テキストを送信した後にユーザーを別のページにリダイレクトできますが、ユーザーは同じページに留まりたいと考えています。 </p> <p>各ユーザーに一意のセッション ID を与え、それを別の値と比較すると、抱えていた問題が解決するという記事を読んだ記憶がありますが、それがどこにあったか忘れてしまいました。 </p>
P粉151466081P粉151466081459日前519

全員に返信(2)返信します

  • P粉817354783

    P粉8173547832023-08-30 09:58:46

    また、JavaScript メソッド window.history.replaceState を使用すると、更新ボタンや戻るボタンでの再送信を防ぐことができることも指摘しておきます。

    リーリー

    概念実証: https://dtbaker.net/files/Prevent-post-resubmit.php(リンクは無効になりました)

    私は依然として Post/Redirect/Get メソッドをお勧めしますが、これは新しい JS ソリューションです。

    返事
    0
  • P粉043432210

    P粉0434322102023-08-30 09:17:22

    パブリッシュ/リダイレクト/取得パターンを使用します。 http://en.wikipedia.org/wiki/Post/Redirect/Get

    私の Web サイトでは、メッセージを Cookie またはセッションに保存し、投稿後にリダイレクトし、Cookie/セッションを読み取り、そのセッションまたは Cookie 変数の値をクリアします。

    返事
    0
  • キャンセル返事