Web Development Information |
|
Track Your Visitors, Using PHP
There are many different traffic analysis tools, ranging from simple counters to complete traffic analyzers. Although there are some free ones, most of them come with a price tag. Why not do it yourself? With PHP, you can easily create a log file within minutes. In this article I will show you how! Getting the information The most important part is getting the information from your visitor. Thankfully, this is extremely easy to do in PHP (or any other scripting language for that matter). PHP has a special global variable called $_SERVER which contains several environment variables, including information about your visitor. To get all the information you want, simply use the following code: // Getting the information $ipaddress = $_SERVER['REMOTE_ADDR']; $page = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}"; $page .= iif(!empty($_SERVER['QUERY_STRING']), "?{$_SERVER['QUERY_STRING']}", ""); $referrer = $_SERVER['HTTP_REFERER']; $datetime = mktime(); $useragent = $_SERVER['HTTP_USER_AGENT']; $remotehost = @getHostByAddr($ipaddress); As you can see the majority of information comes from the $_SERVER variable. The mktime() (http://nl2.php.net/mktime) and getHostByAddr() (http://nl2.php.net/manual/en/function.gethostbyaddr.php) functions are used to get additional information about the visitor. Note: I used a function in the above example called iif(). You can get this function at http://www.phpit.net/code/iif-function. Logging the information Now that you have all the information you need, it must be written to a log file so you can later look at it, and create useful graphs and charts. To do this you need a few simple PHP function, like fopen (http://www.php.net/fopen) and fwrite (http://www.php.net/fwrite). The below code will first create a complete line out of all the information. Then it will open the log file in "Append" mode, and if it doesn't exist yet, create it. If no errors have occurred, it will write the new logline to the log file, at the bottom, and finally close the log file again. // Create log line $logline = $ipaddress . '|' . $referrer . '|' . $datetime . '|' . $useragent . '|' . $remotehost . '|' . $page . ""; // Write to log file: $logfile = '/some/path/to/your/logfile.txt'; // Open the log file in "Append" mode if (!$handle = fopen($logfile, 'a+')) { die("Failed to open log file"); } // Write $logline to our logfile. if (fwrite($handle, $logline) === FALSE) { die("Failed to write to log file"); } fclose($handle); Now you've got a fully function logging module. To start tracking visitors on your website simply include the logging module into your pages with the include() function (http://www.php.net/include): include ('log.php'); Okay, now I want to view my log file After a while you'll probably want to view your log file. You can easily do so by simply using a standard text editor (like Notepad on Windows) to open the log file, but this is far from desired, because it's in a hard-to-read format. Let's use PHP to generate useful overviews for is. The first thing that needs to be done is get the contents from the log file in a variable, like so: // Open log file $logfile = "/some/path/to/your/logfile.txt"; if (file_exists($logfile)) { $handle = fopen($logfile, "r"); $log = fread($handle, filesize($logfile)); fclose($handle); } else { die ("The log file doesn't exist!"); } Now that the log file is in a variable, it's best if each logline is in a separate variable. We can do this using the explode() function (http://www.php.net/explode), like so: // Seperate each logline $log = explode("", trim($log)); After that it may be useful to get each part of each logline in a separate variable. This can be done by looping through each logline, and using explode again: // Seperate each part in each logline for ($i = 0; $i < count($log); $i++) { $log[$i] = trim($log[$i]); $log[$i] = explode('|', $log[$i]); } Now the complete log file has been parsed, and we're ready to start generating some interesting stuff. The first thing that is very easy to do is getting the number of pageviews. Simply use count() (http://www.phpit.net/count) on the $log array, and there you have it; echo count($log) . " people have visited this website."; You can also generate a complete overview of your log file, using a simple foreach loop and tables. For example: // Show a table of the logfile echo ''; echo 'IP Address'; echo 'Referrer'; echo 'Date'; echo 'Useragent'; echo 'Remote Host'; foreach ($log as $logline) { echo ' | ||||
' . $logline['0'] . ' | ';' . urldecode($logline['1']) . ' | ';' . date('d/m/Y', $logline['2']) . ' | ';' . $logline['3'] . ' | ';' . $logline['4'] . ' | ';
RELATED ARTICLES
User Interface Design: Key to Achieve Best Web Development From early days of www, the Internet sites that are added day by day are increasing tremendously. When you will consider this pool of web, may be they are about computers, industry, entertainment, search engines, fashion, organizational or even individual, all of these sites are concerned about one major part of web development apart from the logic or programming efforts behind it is 'User Interface Design'. Web Site Development Process - The Life-cycle Steps A system development process can follow a number of standard or company specific frameworks, methodologies, modeling tools and languages. Software development life cycle normally comes with some standards which can fulfill the needs of any development team. Web Site Promotion: How To Advertise Your Website For Profits Making money with your web site is the dream and goal of millions of webmasters all over the internet including myself. In order to reach this goal you need a variety of web site promotions running all at the same time. Wheres Your Focus, Money or Customer? Is your website Really useful?I had a 'rep' in yesterday who was telling me he had a website, not realising I'm a man of many talents he was telling me about all the new companies he was working with and the great products he could offer and reminded me to go to his website.When he'd finished, I asked him:-"what is the purpose of your website?" a question which he couldn't answer. 7 Questions to Understand Your Customer Better Customer service questionnaires can help your clients better understand their requirements. Your clients can benefit by:* Focusing on immediate project requirements* Increased awareness of budgeted time and finances* Better understanding of project goals* Setting priorities of essential project features* Planning for project post-implementation phaseOn the other hand, you as a service provider will have a clearer understanding of what your clients want. In Business? 10 Reasons Why You Need a Website -- Now! 1) Word of Mouth The single most powerful form of new business creation is word of mouth. Your past customers, friends, acquaintances and staff aren't likely to carry your brochure or even your business card everywhere they go. Whats Your Business Online Attitude? This article was prompted by some customer support work I was involved in for a private members site. One of the paid subscription members wanted someone to look over his website and give an opinion of what we thought of its design. CPanel Fantastico - Features and Benefits Fantastico is a 3rd-party cPanel add-on and can be purchased and added to the standard cPanel interface. Fantastico allows you to quickly install a variety of open-source scripts. Five Steps to Create Your Software Product with Outsourcing Many executives and investors are skeptical that software products can be developed using outsourcing. Even more skepticism is expressed at the idea of outsourcing version 1. Building a Web Store on Shoestring Budget in less than Four Hours Starting a business online is no longer as difficult as it used to be! Now, there are plenty of interesting business ideas that anybody can pick up from various Internet resources. Startup related cost, which used to deter many in taking action, has become negligible. How Does Your Website Make Me Feel? When people think about the Internet, they think about technology. When people hear that I am a Website strategy expert, they see me as a "techy type". Make Your Own Website - General Website Design Tips Wow, we`ve already taken a domain and chosen a web host. Great job ! Now it`s time for something special: making your own website. The Topic Of Your Website The first thing you will have to deal building your website has nothing to do with the web design itself, it's me related to content writing but it must be defined and will effect the rest of your actions. So first of all you need to decide what the topic of your future website is. 7 Profit Producing Reasons Why Every Successful Service Professional Needs A Web Presence Your business website is a critical aspect of being able to start and continue conversations with potential clients. It's the ultimate self-service window for potential and current clients who come to you interested in your services and/or products. What and How to choose the Right Keywords for Mega Traffic Keywords in Search Engine Optimizing and Search Engine Marketing are the building blocks and foundation of your website on the search engines. If your foundation is weak or poorly put together your webpages won't have much to be based upon for the engines to rank with. Top 7 Tips for Building an Antique Car Website Like wine cars get more attractive to collectors as years pass by. The fact is there are only a finite number of cars made in the world in any model and make. How To Keep Your Website Sticky Developing a website with content that entices visitors to return over and over again is something that takes time and effort to put together. This checklist can give you a great start on creating a popular website that entices readers to hang around on your site. Top 7 Reasons Why Your Business Needs a Website A website provides invaluable advantages for businesses who have one.7 reasons why your business needs a website are:1. Getting a Web Site Can Be Fast, Easy, and Inexpensive When You Know Your Options So what do you do if need to get a web site but you're not sure how to go about getting one. The good news is you have several options. Bring Your Visitors Back Clamoring for More! Maintain and Improve Your Web Site Weekly - Part 1 80% of your Web site is Maintenance!Once your Web site is up, you must maintain it. That means changes, and each time you make a change, you may make a mistake. |
home | site map |
© 2006 |