Referrer is the URL from where the visitor has arrived to the page. If you have reached here by clicking a link from google.com then google URL is the referrer for you in this page. We can find out the referrer by using PHP. This is useful for the webmasters to know where from the traffic to the site is coming. Which advertisement campaign is successful and which is not. We will also know the keywords used by the visitors in different search engines to arrive at the site. Here is the simple code to know the referrer in PHP
echo "Referrer of this page = $ref ";
There is no referrer information available for this visit
Return to this page by visiting other pages under the heading Related tutorial, then you can see your referrer URL.
We are interested to know how many visitors are arriving from Google or from any other search engines. So we will find out the host part from this URL by using parase_url() function. This function returns us an array of elements. Here is the code to display the array.
Google has recently changed to secured search where search words are encrypted so they are no longer passed to user sites. Before that it was easy to find out search keywords using referrer string.
Getting search query from referrer address.
If the search is not encrypted then we can get the search query from the referrer query string. For this we will use one Bing search as an example.
First we will break the referred url by using parse_url function and take out the query string part. From the query string we will take out the text query part by using parse_str function.
It doesn't work for me either...
but this does:
$ref = $_SERVER['HTTP_REFERER'];
Great...Fully Working for Me.
Great help... Since long time I was looking for this. You are great...
This is very bad advise,
This code will only work when the php.ini setting register_globals is set to on. Having register globals set to on is a security risk and is normally set to off on modern hosting platforms. The use of the error suppression operator '@' is also a concern. You should use somthing like $ref = (isset($_SERVER['HTTP_REFERER'])) ? $_SERVER['HTTP_REFERER'] : '';
The outer parentheses wrapping "isset" aren't necessary, are they?
$_SERVER['HTTP_REFERER'] is working well
But, how get refereer's page title?
Don't take it that these variables are always "there". Use isset to avoid a PHP notice which (when many) can slow site performance down.
is there a way to format the output? sorry i have to type out the slashes cause the post thinks i am putting a link in the post...
anyhow $_SERVER['HTTP_REFERER']; gives output with the h t t p:slashslash/sitethatreferred.com can you format it to be without the h t t p: and just be sitethatreferred.com only? Does anyone know how to format the output? Thanks!
yes..working.........superb site for php learners...:) nice one
just use $ref = substr($ref, 7);
Sir,i want a function when user come into my site using any REFERER a mail will be send at to my email :)note only for REFERER not for all user
is it possible to get e-mail address when a link (to my server) in an e-mail clicked by php code?
If the link contains any tracking code or email address then we can get the email address. This is what spam email links does. Even images src address submit a tracking code which says that the email address is valid one.