在 Web 应用程序中,解决表单提交后由于页面刷新而导致意外数据重复的常见问题至关重要。当表单提交执行数据库插入等操作时,随后的刷新会导致不需要的数据冗余,就会出现此问题。
要解决此问题,最佳实践不要在同一页面上显示响应提交后。相反,操作完成后将用户重定向到另一个页面。
考虑问题中提供的示例代码:
<?php if (isset($_POST['name'])) { // Database operation (e.g., inserting $_POST['name']) echo "Operation Done"; die(); } ?>
在这种情况下,当您提交表单,数据被插入到数据库中,用户会看到消息“操作完成”。但是,如果此后刷新页面,表单提交代码将再次运行,可能会导致重复数据插入。
为了避免此问题,请考虑修改以下代码:
<?php if (isset($_POST['name'])) { // Database operation (e.g., inserting $_POST['name']) // Set a success flash message (assuming you're using a framework) header('Location: /path/to/record'); exit; } ?>
要点:
以上是如何防止Web应用程序中页面刷新时意外重新提交?的详细内容。更多信息请关注PHP中文网其他相关文章!