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