How to Make a PHP Hit Counter

Hit counters are a popular feature among new and experienced webmasters alike. There are several different methods of including a hit counter on your site, but this manual focuses on a specific implementation in PHP. It is assumed you are...
Part 1 of 4:

Setting up the Database

  1. How to Make a PHP Hit Counter Picture 1How to Make a PHP Hit Counter Picture 1
    Create a new database. If you already have a database, username, and password, you can skip this step. If you do not have access to a MySQL console, you'll want to enter this query in phpMyAdmin or another online query tool. If your web host provides you with a username and database already (and you have no control over creating more), use those and skip this step.
  2. How to Make a PHP Hit Counter Picture 2How to Make a PHP Hit Counter Picture 2
    Create a database user. If you're at this step, then it is assumed you are logged into MySQL with a root account and want to create a separate user to access the hit counter. If this does not apply, use whatever username you already have for accessing the database. Be sure to use your own credentials, not the ones used in this example. Grant the user permissions to your database.
  3. How to Make a PHP Hit Counter Picture 3How to Make a PHP Hit Counter Picture 3
    Create the hit_counter table. This table will keep track of the number of hits we get. Use the table structure as shown in the image.
Part 2 of 4:

Creating the Hit Counter

  1. How to Make a PHP Hit Counter Picture 4How to Make a PHP Hit Counter Picture 4
    Create a new file called "HitCounter.php". This file will contain a class you can include in other PHP scripts when you want it to log a hit.
  2. How to Make a PHP Hit Counter Picture 5How to Make a PHP Hit Counter Picture 5
    Stub out the HitCounter class. Create local class members to hold your credentials and the database connection info.
  3. How to Make a PHP Hit Counter Picture 6How to Make a PHP Hit Counter Picture 6
    Write the constructor. In the constructor, you should establish the database connection and initialize the hit counts at zero.
  4. How to Make a PHP Hit Counter Picture 7How to Make a PHP Hit Counter Picture 7
    Write the public functions. These methods can be called from any other script that instantiates the HitCounter class.
    1. Add a method for processing views. This method gets called on every page load that should be counted towards a hit.
    2. Add a getter for the total views. This will get called in places where you want to show the total view count.
    3. Add a getter for the unique hits. You'll call this where you want to show the unique view count.
  5. How to Make a PHP Hit Counter Picture 8How to Make a PHP Hit Counter Picture 8
    Fill in the remaining helper methods. These methods do the brunt of the work for the hit counter. They're marked private so that they can only be used internally.
    1. getData() retrieves the current view counts from the database. If there isn't any data, it sets this data to zero.
    2. isNewVisitor() determines whether the visitor has already visited our website in their current session
    3. visit() increments the total hit counter, and increments the unique visitor counter if the user has not visited the website in their current session.
Part 3 of 4:

Using the Hit Counter

  1. How to Make a PHP Hit Counter Picture 9How to Make a PHP Hit Counter Picture 9
    Create a new file to use your hit counter. This should be an actual page you intend the visitor to see. If you already have a website, this should be the front facing PHP script (usually index.php). Basically, any PHP file that is accessible from the web and you want to use to update the counter.
  2. How to Make a PHP Hit Counter Picture 10How to Make a PHP Hit Counter Picture 10
    Include the file containing the HitCounter class. It's recommended to use require_once over include.
  3. How to Make a PHP Hit Counter Picture 11How to Make a PHP Hit Counter Picture 11
    Call the views processor. This will tell the hit counter to update the counts. It's also necessary to get the current counts for display.
  4. How to Make a PHP Hit Counter Picture 12How to Make a PHP Hit Counter Picture 12
    Display your view counts. You can choose to show either the total number of hits or only the unique hits. It can be embedded anywhere HTML it output by the PHP script.
  5. How to Make a PHP Hit Counter Picture 13How to Make a PHP Hit Counter Picture 13
    Test your hit counter. Your hit counters should now increment appropriately when you view your web page. If you keep refreshing, your total hit count will increase but your unique session count will stay the same. This is good.
Part 4 of 4:

Database Queries

/* Creating a new database */ CREATE DATABASE hit_counter; /* Get into the hit_counter database context */ USE hit_counter; /* Creating a new user */ CREATE USER wikihow IDENTIFIED BY "your password"; /* Grant database permissions */ GRANT ALL on hit_counter TO wikihow; /* Create the hit counter table */ CREATE TABLE `hit_counter` ( `total_hits` int(11) unsigned NOT NULL DEFAULT '0', `unique_hits` int(11) unsigned NOT NULL DEFAULT '0' ); 
4 ★ | 2 Vote