Getting your Visitor's Details Using PHP

You can get quite a bit of information about your visitors without having to use a third party tracking software. I'll outline the PHP commands you can use to capture some of this data. The details you capture can be saved into a database, and retrieved later to check your site's performance and user details. The following information is captured using the server variable ($_SERVER) which is available from PHP 4.10 onwards. Visitor's IP address :

You can get the visitor's IP address using the following command:

<? $ip = $_SERVER['HTTP_CLIENT_IP']; ?>
This will give you the vistor's IP address. You can use this along with an ip to country converter database to see from which country your visitors are come in from. You can head over to http://ip-to-country .webhosting.info/ for one such script.

You can use PHP to resolve the ip address to a domain name to get the visitor's ISP in most cases. The ISP's domain will show up if PHP is able to resolve the IP to a proper domain. You can do this as follows.

<? $ip = $_SERVER['HTTP_CLIENT_IP']; $visitor_host = @getHostByAddr( $ip ); ?>
Note : On some servers, using getHostByAddr to resolve domains may cause the script to slow down.

Referring Page :

You can capture the referring page, which will give you an indication of which site is sending traffic to you.

<? $referrer_page = $_SERVER['HTTP_REFERER']; ?>
This will give you the entire URL from which the visitor came to your site. For example if the visitor came from a google search for "i-pod", the referrer url would look something like this :

http://www.google.co.in/search?q=i-pod&hl=en&lr=&ie=U TF-8&start=50

If you don't want the entire URL captured, but just the domain name stored into the database, you can strip the rest of the URL and save it to the database like so:

<? $referrer_page = parse_url(htmlspecialchars(strip_tags($_SERVER['HTTP_REFERER']))) ; ?>
This will save the referring page as :

http://www.google.co.in/

The page being Accessed :

You can also capture the page being accessed on your server. This information will help you evaluate which parts of your site is getting more page views.

A more advanced user can also use this information to create a click-stream of the user. A click-stream is the path that a user follows while he goes through your site. This lets you see how effective your site's navigation is.

<? $requested_page = $_SERVER['REQUEST_URI']; ?>
If the visitor is accessing your page, http://www.yourdomain.com/guestbook.php, the requested page would be 'guestbook.php'.

These pieces of information will help you build a visitor tracker in PHP, which will be able to tell you quite a bit about your visitors and how they use your site.