php - 如何在使用 PHP 的浏览器上按下 'Refresh' 按钮后删除 $_POST 变量?

标签 php

当我按下浏览器上的“刷新”按钮时,$_POST 变量似乎在刷新过程中保留了下来。

如果我想删除$_POST的内容怎么办?对 $_POST 的字段使用 unset 没有帮助。

帮助?谢谢!

最佳答案

请求 header 包含一些 POST 数据。无论你做什么,当你重新加载页面时,请求都会再次发送。

简单的解决方案是重定向到一个新的(如果不是相同的)页面。这种模式在 Web 应用程序中很常见,称为 Post/Redirect/Get。 .所有表单都做一个 POST 是典型的,如果成功,你应该做一个重定向。

尽量始终将 View 脚本(主要是 html)与 Controller 脚本(业务逻辑和其他内容)分开(在不同的文件中)。通过这种方式,您始终会将数据发布到单独的 Controller 脚本,然后重定向回 View 脚本,该脚本在呈现时不会在请求 header 中包含任何 POST 数据。

关于php - 如何在使用 PHP 的浏览器上按下 'Refresh' 按钮后删除 $_POST 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335828/

相关文章:

PHP preg_match : any letter but no numbers (and symbols)

php - mysql_insert_id 和 last_insert_id 错误行为

php - 谷歌长纬度问题

php - 如何将此 SQL 查询转换为 propel 查询

PHP 登录页面错误

php - Symfony2 和 Doctrine : OneToMany relation duplicates data in the table

php - 如何在 URL 中隐藏 MySQL 生成的 ID

php - PHP 应用程序是否应该对不正确的数据库值执行错误处理?

php - 解析错误 : syntax error, unexpected $end, expecting '` ' in php

php - GAPI:无法请求帐户数据