ページ更新時にフォームの再送信を防ぐ方法 (F5/CTRL+R)
P粉151466081
P粉151466081 2023-08-29 11:37:35
0
2
444

SQL テーブルにテキストを送信する単純なフォームがあります。問題は、ユーザーがテキストを送信した後、フォームに再度入力しなくても、ページを更新してデータを再送信できることです。テキストを送信した後にユーザーを別のページにリダイレクトできますが、ユーザーは同じページに留まりたいと考えています。

各ユーザーに一意のセッション ID を与え、それを別の値と比較すると、抱えていた問題が解決するという記事を読んだ記憶がありますが、それがどこにあったか忘れてしまいました。

P粉151466081
P粉151466081

全員に返信 (2)
P粉817354783

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

リーリー

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

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

いいねを押す+0
    P粉043432210

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

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

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!