php - 发送带有 PHP header 位置重定向的消息

标签 php http header

是否可以在 PHP header 中包含一些消息:

header("Location: http://somesite.com");
header("Message: hello");

然后在 site.com 上:

$message = some_function(); // "hello"

我目前在 URL 中使用 $_GET 参数,但正在寻找替代方案,也许发送 $_POST?

我尝试不使用 $_GET,或使用 cookie(我知道,这些是最好的方法..)

最佳答案

听起来您想向您重定向到的页面发送一些额外的数据。不,这在查询字符串之外是不可能的。你应该明白这里发生了什么。

当您发送 302301 状态代码以及 Location: header 时,浏览器会看到此情况,然后发出单独的请求到 Location: header 指定的 URL。服务器没有向该页面发送任何内容。这几乎就像用户只是在浏览器中输入新的 URL 一样。

我说几乎是因为在某些情况下,浏览器设置了一个referrer。但这并不能保证。

可以做的是发送某种包含更多信息的 token 。也许您的页面在数据库或其他内容中保存了一条消息,然后您在要重定向到的 URL 的查询字符串中传递 ID。

此外,如果您设置 session /cookie 数据并且重定向到同一域上的某个内容,您可以在用户最终登陆的页面上读取该信息。

关于php - 发送带有 PHP header 位置重定向的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22260203/

相关文章:

audio - 适用于A-law和mu-law的WAV文件头

PHP While 循环搜索多个 MySQL 查询

php - 检查是否填充了 MySQL 行

php - Symfony 使用 Redis 作为默认缓存编译容器

php - 如何从数组中删除相同的值

api - HTTP:在 Destination header 不是 URI 的情况下使用 COPY 方法是否可以接受?

c# - 在 C# 中处理非验证 SSL 证书的最佳方法是什么

HTTP 代理 SSL 隧道中继详细信息

windows - 我如何获得 sal.h

php - PHP session 的未定义索引