是否可以在PHP标头中包含一些消息:
header("Location: http://somesite.com");
header("Message: hello");
然后在site.com上:
$message = some_function(); // "hello"
我目前在网址中使用$ _GET参数,但正在寻找替代方案,可能会发送$ _POST?
我正在尝试不使用$ _GET,或使用cookies(我知道,这些是最好的方式......)
答案 0 :(得分:5)
听起来您想要将一些额外的数据发送到您要重定向到的页面。不,这在查询字符串之外是不可能的。你应该明白这里发生了什么。
当您发送302
或301
状态代码以及Location:
标头时,浏览器会看到此内容,然后对{{1}指定的网址发出单独请求标头服务器没有向该页面发送任何内容。这几乎就像用户只需在浏览器中输入新的URL一样。
我说几乎是因为在某些情况下,浏览器会设置一个引荐来源。但这并不能保证。
可以做的是发送包含更多信息的某种令牌。也许你的页面会在数据库或其他东西中保存一条消息,然后你在你要重定向到的URL的查询字符串中传递ID。
此外,如果您设置会话/ cookie数据并且您正在重定向到同一域中的某些内容,则可以在用户最终登录的页面上阅读该信息。