PHP でのフォーム送信時の複数の挿入の防止
PHP フォーム送信では、ユーザーが誤ってフォームが複数回作成され、データベースへの重複挿入が発生します。この問題に対処するには、同じタイトルとコンテンツを持つ既存のレコードを確認する以外にもさまざまなアプローチがあります。この記事では、3 つの信頼できる解決策について説明します。
フォーム送信ボタンの無効化
JavaScript を使用して、送信時にフォームの送信ボタンを無効にすることが考えられる解決策です。ただし、このアプローチは確実ではないため、重大な制限があります。ユーザーはボタンをバイパスしてフォームを送信できますが、JavaScript が無効になっていると効果的に機能しない可能性があります。 この方法は推奨されません。
PHP セッション変数
PHP では、セッション変数を使用してセッション固有のタイムスタンプ ($ _SESSION['posttimer']) フォーム送信中。フォームを処理する前にこの変数を検証し、現在のシステム時間と比較することで、二重送信を効果的に除外できます。たとえば、タイムスタンプの差が 2 秒を超える場合は、正当な送信であることを示します。
一意のトークンの生成
POST リクエストごとに一意のトークンを生成することも信頼性の高い方法です。方法。これには、トークンを使用してセッション変数を設定し、それをフォーム内に埋め込むことが含まれます。後続のフォーム送信ではトークンが再生成され、送信されたトークンと保存されたセッション トークンが一致しない場合は二重送信とみなされ、フォームに無効のフラグが立てられます。
以上がPHP で複数のフォーム送信を防止し、データの整合性を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。