$ _SERVER [' HTTP_REFERER']可以将它用于多个表单

时间:2016-11-15 08:05:17

标签: php html back

这是我在每个表单之后使用以多页形式返回上一页的内容:

$url = htmlspecialchars($_SERVER['HTTP_REFERER']);
echo "<a href='$url'>GO BACK</a>";

但我不确定它是否能正常工作。有没有更好的方法回到上一页。我不想使用标题(location:),也许是多次提交,即一个提交表单而另一个提交。但我不确定如何正确实施它。

1 个答案:

答案 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等。这是最可靠的方式