我知道我可以使用它返回上一页:
header('Location: ' . $_SERVER['HTTP_REFERER']);
但我需要回到之前的页面。我想实现这一点:
第 1 页 -> 使用表单插入记录页面 -> 提交表单 -> 在 php 中处理插入 -> 重定向到第 1 页。
现在,使用上面的代码只会带我回到我的“使用表单插入记录页面”= 第二页,而不是第一页。可以做到吗?
尝试这个:
更改您的“手柄插入器...”:
header('Location: ' . $_SERVER['HTTP_REFERER'] . '?redirect');
添加您的“插入记录...”
if(isset($_GET["redirect"]) { header ("location: page1.html"); }
解释:
第一个将向“插入记录页面”发送一个参数,然后插入记录页面将检查它是否有一个名为“redirect”的参数,如果有,它将重定向到第1页!
我建议您为重定向创建一个单独的页面,在其中将 URL 作为参数发送给它,它会将您重定向到该特定 URL。我就是做这个的。同时在那个页面上我也做了一些验证。:)
根据@War10ck和PHP 文档:
这是由用户代理设置的。不是所有的用户代理都会设置这个,有些提供修改 HTTP_REFERER 作为一个特性的能力。简而言之,它不能真正被信任。
为此,这个问题可能会有所帮助。它建议我们自己保存记录。
资源:PHP 文档
它可以完成,但不是您尝试的方式。出于隐私原因,客户端的网络历史记录被故意隐藏。你可以看到推荐人,但就是这样。有关替代设计建议,请参阅@MohammadAreebSiddiq 的答案。祝你好运!