是否可以在 PHP header 中包含一些消息:
header("Location: http://somesite.com");
header("Message: hello");
然后在 site.com 上:
$message = some_function(); // "hello"
我目前在 URL 中使用 $_GET 参数,但正在寻找替代方案,也许发送 $_POST?
我尝试不使用 $_GET,或使用 cookie(我知道,这些是最好的方法..)
最佳答案
听起来您想向您重定向到的页面发送一些额外的数据。不,这在查询字符串之外是不可能的。你应该明白这里发生了什么。
当您发送 302
或 301
状态代码以及 Location:
header 时,浏览器会看到此情况,然后发出单独的请求到 Location:
header 指定的 URL。服务器没有向该页面发送任何内容。这几乎就像用户只是在浏览器中输入新的 URL 一样。
我说几乎是因为在某些情况下,浏览器设置了一个referrer。但这并不能保证。
您可以做的是发送某种包含更多信息的 token 。也许您的页面在数据库或其他内容中保存了一条消息,然后您在要重定向到的 URL 的查询字符串中传递 ID。
此外,如果您设置 session /cookie 数据并且重定向到同一域上的某个内容,您可以在用户最终登陆的页面上读取该信息。
关于php - 发送带有 PHP header 位置重定向的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22260203/