Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何获取推荐人URL?_Php - Fatal编程技术网

PHP:如何获取推荐人URL?

PHP:如何获取推荐人URL?,php,Php,我有一个页面(index.php),客户可以在那里向我发送电子邮件。现在我想看看访问者来自哪个网站 如何使用PHP获取推荐人URL?我试过了 $\u服务器['HTTP\u REFERER']但它一直是空的。我需要考虑哪些变量? 以下是我的$\u服务器包含的内容;我把一些----审查---放在隐私问题上,实际上有真正的价值 array(31) { ["DOCUMENT_ROOT"]=> string(33) "/home/anything/public_

我有一个页面(
index.php
),客户可以在那里向我发送电子邮件。现在我想看看访问者来自哪个网站

如何使用PHP获取
推荐人URL
?我试过了
$\u服务器['HTTP\u REFERER']
但它一直是空的。我需要考虑哪些变量?

以下是我的
$\u服务器
包含的内容;我把一些
----审查---
放在隐私问题上,实际上有真正的价值

array(31) {
  ["DOCUMENT_ROOT"]=>
  string(33) "/home/anything/public_html/design"
  ["GATEWAY_INTERFACE"]=>
  string(7) "CGI/1.1"
  ["HTTP_ACCEPT"]=>
  string(129) "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"
  ["HTTP_ACCEPT_ENCODING"]=>
  string(13) "gzip, deflate"
  ["HTTP_ACCEPT_LANGUAGE"]=>
  string(14) "en-US,en;q=0.9"
  ["HTTP_CACHE_CONTROL"]=>
  string(8) "no-cache"
  ["HTTP_CONNECTION"]=>
  string(10) "Keep-Alive"
  ["HTTP_COOKIE"]=>
  string(189) "__utma=76630272.1468291432.1367655794.1367669576.1367674157.3; __utmb=76630272.1.10.1367674157; __utmc=76630272; __utmz=76630272.1367655794.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"
  ["HTTP_HOST"]=>
  string(25) " ---- CENSORED ---- "
  ["HTTP_USER_AGENT"]=>
  string(57) "Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.15"
  ["PATH"]=>
  string(13) "/bin:/usr/bin"
  ["QUERY_STRING"]=>
  string(0) ""
  ["REDIRECT_STATUS"]=>
  string(3) "200"
  ["REMOTE_ADDR"]=>
  string(10) "5.15.68.79"
  ["REMOTE_PORT"]=>
  string(5) "57897"
  ["REQUEST_METHOD"]=>
  string(3) "GET"
  ["REQUEST_URI"]=>
  string(12) "/referer.php"
  ["SCRIPT_FILENAME"]=>
  string(45) "/home/anything/public_html/design/referer.php"
  ["SCRIPT_NAME"]=>
  string(12) "/referer.php"
  ["SERVER_ADDR"]=>
  string(13) " ---- CENSORED ---- "
  ["SERVER_ADMIN"]=>
  string(35) " ---- CENSORED ---- "
  ["SERVER_NAME"]=>
  string(25) " ---- CENSORED ---- "
  ["SERVER_PORT"]=>
  string(2) "80"
  ["SERVER_PROTOCOL"]=>
  string(8) "HTTP/1.1"
  ["SERVER_SIGNATURE"]=>
  string(189) "
Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at ---- CENSORED ---- Port 80

"
  ["SERVER_SOFTWARE"]=>
  string(125) "Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635"
  ["UNIQUE_ID"]=>
  string(24) "UYUNcUPeiDsAABkR2eYAAAAj"
  ["PHP_SELF"]=>
  string(12) "/referer.php"
  ["REQUEST_TIME"]=>
  int(1367674225)
  ["argv"]=>
  array(0) {
  }
  ["argc"]=>
  int(0)
}
下划线。不是空间


$\u服务器['HTTP\u REFERER']

$\u服务器['HTTP\u REFERER']]
将为您提供引用者页面的URL(如果存在)。如果用户使用书签或通过手动键入URL直接访问您的站点,http\U referer将为空。此外,如果用户以编程方式(CURL)发布到您的页面,那么他们也不必设置http_referer。您缺少了所有的
,这是打字错误吗?

如果
$\u服务器['HTTP\u REFERER']
变量似乎不起作用,那么您可以使用或

但是,如果您通过直接在浏览器中点击URL来运行文件(包含上述代码),则会出现以下错误

注意:未定义索引:HTTP\u REFERER


而且它肯定不会被直接访问,比如说,没有推荐人?对不起,我需要确认一下。我试图从一个我有直接链接的网站访问我的页面,但它仍然是空的。同时确保你拼写错误,哈。实际的官方变量是一个输入错误。它应该是
REFERER
而不是
REFERER
。您应该尝试转储整个
$\u服务器
var,并确保您从中获得了一些东西。我在上面发布了整个
$\u服务器
。分析显然是一个更好的解决方案。这里的服务器变量显然有些奇怪。此外,http referer可以很容易地被操作。如果我使用http\u referer并在新选项卡中打开,那么我们是否有可能丢失http\u referer值???不,它不会影响
http\u referer
值。请改进您的描述,即浏览器是否在http请求头中发送此消息。还添加了另一种情况,浏览器不会在请求中发送推荐人,即在https页面上单击http链接时。这里更好地解释一下:可能是
$_SERVER['HTTP_REFERER'];