I am currently working on a marketing module that keeps track of sites that brings traffic to our site. Is there a way to get the domain or I.P. address of the referring site using PHP? I believe HTTP_REFERER
does not always show up on the $_SERVER
global.
The HTTP_REFERER
header has to be sent by the client's browser. You can't rely on it being sent.
Scenarios when it does not get sent include:
In those cases, there is nothing you can do.
If you control the linking site however, you could add a referrer ID in the GET parameter to the link:
http://example.com/?from=mysite
you could then parse the from
parameter in your script.
Converting the referrer string to an IP usually not a good idea, seeing as many IP addresses host dozens or hundreds of sites. The distinction which site the user came from will be lost that way.