ユーザーがページを更新して再度送信を選択したときにフォームを2回投稿するのを避けるために使用できる手法は何ですか?
たとえば、 regiter.php内にフォームがあり、register.php内でも処理します。
まず、 register_process.phpなどの別のファイルで処理し、register.php にリダイレクトできますが、約 20 の新しいページを作成し、多くのコードを再配置する必要があります。そのオプションは必要ありません。
2headers
つ目は、正確なトリックを覚えていませんが、それでいくつかの悪い経験がありました-ユーザーはページを更新した後、ページに古いデータが表示されました...
3番目に、成功時にdummy.phpにリダイレクトし、dummy.phpからregister.phpに戻ることができます。その後、ページを更新してもブラウザは再投稿されませんが、戻るボタンを使用して再選択することはできません。投稿、ページの有効期限が切れる可能性があることは知っていますが、私とおそらく他のユーザーがページの期限切れエラーを表示するのは面倒です。
4番目に、ページが読み込まれると各フォームに一意の「アクセスキー」を使用します。これはフォームとともに投稿され、一度使用すると再利用できませんが、その機能のロジックに苦労しています。キーがMySQL DBに保存せずに使用されたことをどのように知ることができますか。ページを開いてからフォームを送信するまでに時間がかかるユーザーもいるため、時間ベースのアクセスもあまり良くないと思います。
ユーザーがフォームを再度再配置するのを避ける方法について、さらに提案が必要です。