微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“header()”php函数是否取消设置全局变量?

我正在开发一个包含html表单的PHP脚本.

如果不是所有字段都以正确的方式填充,则脚本将发出错误信号,并使用头函数重定向回同一页面,并使用get方法错误变量设置为yes:

header("Location: registration_page.PHP?error_empty=yes");

我的脚本有一个错误处理部分,它突出显示包含错误的字段,但我想保持字段的值正确填充.

正如我在其他问题中找到的那样,我正在实现此功能

How can I keep a value in a text input after a submit occurs?

但问题是,当页面重新打开时,表单将不包含旧值.

我的问题是:有没有人知道头函数是否取消了$_REQUEST数组中的全局变量

你知道我可以采用什么样的解决方案吗?也许会话?

提前致谢,

利玛窦!

最佳答案
$_COOKIES将继续设置,但$_POST&当客户端移动到新页面时,$_GET将被销毁.如果需要保留它们,则必须先将它们存储到$_SESSION中,然后再调用重定向.

session_start();
$_SESSION['last_post'] = $_POST;
header("Location: http://example.com");
exit();

// On the redirected page,use the stored POST values and unset them in $_SESSION
session_start();
if (empty($_POST) && isset($_SESSION['last_post'])) {
  $post = $_SESSION['last_post'];
  unset($_SESSION['last_post']);
}
else $post = $_POST;

原文地址:https://www.jb51.cc/html/426216.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐