这是我在每个表单之后使用以多页形式返回上一页的内容:
$url = htmlspecialchars($_SERVER['HTTP_REFERER']);
echo "<a href='$url'>GO BACK</a>";
但我不确定它是否能正常工作。有没有更好的方法回到上一页。我不想使用标题(location:
),也许是多次提交,即一个提交表单而另一个提交。但我不确定如何正确实施它。
答案 0 :(得分:2)
正如在C++11 construct中所说的那样,并非所有用户代理都设置了referer:
'HTTP_REFERER'
将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。
换句话说,$_SERVER['HTTP_REFERER']
可能为空。
我宁愿使用JavaScript:
<a href="javascript:history.go(-1)">Back</a>
有时可以通过应用程序的逻辑确定上一页。例如,如果页面“步骤2”位于页面“步骤1”之后,那么我将根据逻辑生成URL:/registration/step1
,/registration/step2
等。这是最可靠的方式