有没有办法在PHP中获取启动页面的URL

时间:2016-10-11 17:24:57

标签: php

在PHP 5.6中,如果我在页面A上,如果页面A在启动页面B,是否有办法从页面B获取页面A的URL?

请注意,当我从第A页启动页面B时,我不想使用查询参数来传递URL A的值。

3 个答案:

答案 0 :(得分:4)

如果浏览器(用户代理)支持,您可以使用:

$_SERVER['HTTP_REFERER']
  

'HTTP_REFERER'

     

将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。

来自:http://php.net/manual/en/reserved.variables.server.php

答案 1 :(得分:3)

您可以使用$_SERVER['HTTP_REFERER']进行检查。 HTTP referer标头将返回一个字符串。如果您不知道如何使用它,您可以尝试:

echo $_SERVER['HTTP_REFERER'];

如果您的用户来到谷歌页面,$_SERVER['HTTP_REFERER']会给您http://www.google.com

当然,请查看文档:{​​{3}}

答案 2 :(得分:2)

如果launch表示includerequire,那么您可以使用此处获取网址(打印示例):

echo $_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];

$_SERVER['HTTP_HOST']将打印基本网址,$_SERVER['SCRIPT_NAME']将打印剩余部分(子文件夹和文件名),如:

http://example/web/pageb.php

我测试了这个以确保它有效。但一定要逃避,因为这里可能存在漏洞。如果$_SERVER['HTTP_REFERER']null,则此功能也适用。