ページ更新時の意図しないデータ挿入の回避
Web アプリケーション開発では、ユーザーがページ更新後に意図しないデータ挿入を防ぐことが重要です。フォームを送信する。この問題に対する一般的なアプローチの 1 つは、フォーム送信後にユーザーを別のページにリダイレクトすることです。
フォームを使用してデータベースにデータを挿入する次のコード スニペットを考えてみましょう:
<?php if (isset($_POST['name'])) { // Operation on database, such as inserting $_POST['name'] into a table echo "Operation Done"; die(); // Die() is used to prevent further processing, which would otherwise cause the form to be resubmitted on page refresh. } ?> <form action='page.php' method='post' name="myForm"> <input type="text" maxlength="50" name="name" class="input400" /> <input type="submit" name="Submit" /> </form>
フォームが送信されると、データがデータベースに挿入され、「操作が完了しました」というメッセージが表示されます。ただし、ユーザーがページを更新すると、フォームが再送信され、データが再度挿入されます。
この問題を回避するには、フォームの送信後にユーザーを別のページにリダイレクトすることをお勧めします。これにより、ページ更新時にフォームが再送信されなくなります。
<?php if (isset($_POST['name'])) { // Operation on database, such as inserting $_POST['name'] into a table // Set a success flash message (assuming you are using a framework). header('Location: /path/to/record'); // Redirects the user to a different page upon successful form submission. exit; // Die() is not necessary here since the header redirect will send the user away from the page. } ?> <form action='page.php' method='post' name="myForm"> <input type="text" maxlength="50" name="name" class="input400" /> <input type="submit" name="Submit" /> </form>
フォーム送信後にユーザーを別のページにリダイレクトすることで、ページ更新時に意図しないデータが挿入されるリスクが排除されます。
以上がページ更新時に意図しないデータ挿入を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。