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
- 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.
- 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.
- 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
- 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.
- Stub out the HitCounter class. Create local class members to hold your credentials and the database connection info.
- Write the constructor. In the constructor, you should establish the database connection and initialize the hit counts at zero.
- Write the public functions. These methods can be called from any other script that instantiates the HitCounter class.
- Add a method for processing views. This method gets called on every page load that should be counted towards a hit.
- Add a getter for the total views. This will get called in places where you want to show the total view count.
- Add a getter for the unique hits. You'll call this where you want to show the unique view count.
- 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.
getData()
retrieves the current view counts from the database. If there isn't any data, it sets this data to zero.isNewVisitor()
determines whether the visitor has already visited our website in their current sessionvisit()
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
- 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.
- Include the file containing the HitCounter class. It's recommended to use require_once over include.
- 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.
- 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.
- 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
You should read it
- Counter - Counter in CSS
- How to create a database in MySQL
- How to create a word counter in JavaScript
- 6 best FPS counting apps for Windows 11
- How to create a registration app using Python and database
- MS Access - Lesson 4: Create a new database
- How to Create a Windows Azure SQL Database
- Counter-Strike 2 is officially available on Steam
- CS:GO 2 information, Counter Strike 2 information
- CS 2 configuration, Counter Strike 2 PC playing configuration
- Create Database in MongoDB
- Create Active Directory accounts from the Exchange database (Part 1)