1

我知道我可以使用它返回上一页:

header('Location: ' . $_SERVER['HTTP_REFERER']);

但我需要回到之前的页面。我想实现这一点:

第 1 页 -> 使用表单插入记录页面 -> 提交表单 -> 在 php 中处理插入 -> 重定向到第 1 页。

现在,使用上面的代码只会带我回到我的“使用表单插入记录页面”= 第二页,而不是第一页。可以做到吗?

4

2 回答 2

3

尝试这个:

更改您的“手柄插入器...”:

header('Location: ' . $_SERVER['HTTP_REFERER'] . '?redirect');

添加您的“插入记录...”

if(isset($_GET["redirect"]) { header ("location: page1.html"); }

解释:

第一个将向“插入记录页面”发送一个参数,然后插入记录页面将检查它是否有一个名为“redirect”的参数,如果有,它将重定向到第1页!


我建议您为重定向创建一个单独的页面,在其中将 URL 作为参数发送给它,它会将您重定向到该特定 URL。我就是做这个的。同时在那个页面上我也做了一些验证。:)

根据@War10ckPHP 文档

这是由用户代理设置的。不是所有的用户代理都会设置这个,有些提供修改 HTTP_REFERER 作为一个特性的能力。简而言之,它不能真正被信任。

为此,这个问题可能会有所帮助。它建议我们自己保存记录。

资源:PHP 文档

于 2013-07-05T20:39:16.413 回答
1

它可以完成,但不是您尝试的方式。出于隐私原因,客户端的网络历史记录被故意隐藏。你可以看到推荐人,但就是这样。有关替代设计建议,请参阅@MohammadAreebSiddiq 的答案。祝你好运!

于 2013-07-05T20:44:00.027 回答