gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 15:29:09 26 4
gpt4 key购买 nike

我正在开发一个包含 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 数组中的全局变量设置吗?

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

提前致谢

马特奥!

最佳答案

$_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;

关于php - "header()"php函数是否取消设置全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275368/

26 4 0
文章推荐: jquery - CSS 选择器查找具有指定