Home  >  Article  >  Backend Development  >  Why is the `$_SERVER[\'HTTP_REFERER\']` Variable Empty in PHP?

Why is the `$_SERVER[\'HTTP_REFERER\']` Variable Empty in PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 01:28:02451browse

Why is the `$_SERVER['HTTP_REFERER']` Variable Empty in PHP?

How to Track Referrer URLs in PHP

Getting the referrer URL can be useful in tracking visitor behavior and understanding how your website is being accessed. To retrieve the referrer URL with PHP, you can use the $_SERVER['HTTP_REFERER'] variable.

Empty Referrer URL

If $_SERVER['HTTP_REFERER'] is empty, there are a few possible reasons:

  • Users may have bookmarked your page.
  • Users may have manually entered the URL in their browser.
  • Users may have posted to your page programmatically without setting the referrer.

Complete Server Variables

To investigate the server variables further, here's a complete list of the variables in your $_SERVER array:

<code class="php">[DOCUMENT_ROOT] => /home/anything/public_html/design
[GATEWAY_INTERFACE] => CGI/1.1
[HTTP_ACCEPT] => 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] => gzip, deflate
[HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.9
[HTTP_CACHE_CONTROL] => no-cache
[HTTP_CONNECTION] => Keep-Alive
[HTTP_COOKIE] => __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] => ---- CENSORED ----
[HTTP_USER_AGENT] => Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.15
[PATH] => /bin:/usr/bin
[QUERY_STRING] => ""
[REDIRECT_STATUS] => 200
[REMOTE_ADDR] => 5.15.68.79
[REMOTE_PORT] => 57897
[REQUEST_METHOD] => GET
[REQUEST_URI] => /referer.php
[SCRIPT_FILENAME] => /home/anything/public_html/design/referer.php
[SCRIPT_NAME] => /referer.php
[SERVER_ADDR] => ---- CENSORED ----
[SERVER_ADMIN] => ---- CENSORED ----
[SERVER_NAME] => ---- CENSORED ----
[SERVER_PORT] => 80
[SERVER_PROTOCOL] => HTTP/1.1
[SERVER_SIGNATURE] => 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] => 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] => UYUNcUPeiDsAABkR2eYAAAAj
[PHP_SELF] => /referer.php
[REQUEST_TIME] => 1367674225
[argv] => array()
[argc] => 0</code>

As you can see, the _ character is missing in all of the variable names due to a typo in the provided code.

The above is the detailed content of Why is the `$_SERVER[\'HTTP_REFERER\']` Variable Empty in PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn