加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

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

发布时间:2020-12-14 22:58:33 所属栏目:资源 来源:网络整理
导读:我正在开发一个包含html表单的php脚本. 如果不是所有字段都以正确的方式填充,则脚本将发出错误信号,并使用头函数重定向回同一页面,并使用get方法将错误变量设置为yes: header("Location: registration_page.php?error_empty=yes"); 我的脚本有一个错误处理

我正在开发一个包含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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读