2016-10-11 63 views
2

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

请注意,我不希望使用的查询参数传递URL的值,当我从页面A.推出网页B

+0

你能指定什么 '推出网页B' 的意思?你想让用户重定向到其他页面?或者你想在页面A中包含页面B? – Defozo

+0

我想使用如下这样的锚元素从a.php启动b.php:launch B Andy

回答

4

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

$_SERVER['HTTP_REFERER'] 

“HTTP_REFERER”

页面的地址(如有的话)所提及的用户代理到当前页面。这由用户代理设置。并非所有的用户代理都会设置它,有些提供了将HTTP_REFERER修改为功能的功能。总之,它不能真正被信任。

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

2

则可以使用$_SERVER['HTTP_REFERER']检查。 HTTP referer头将返回一个字符串。如果你不知道如何与这个工作,你可以尝试:

echo $_SERVER['HTTP_REFERER']; 

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

,当然,检查文件:http://php.net/manual/en/reserved.variables.server.php

3

如果launch意味着includerequire,那么你就可以得到这个(打印示例)网址:

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

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

http://example/web/pageb.php 

我已经测试是为了确保它的工作原理。但一定要逃避,因为这里可能存在漏洞。它也适用于你的情况,如果$_SERVER['HTTP_REFERER']null

相关问题