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:
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!