Ecommerce Website in PHP with Source Code

A fully functional project based on an Online Ecommerce Website that uses PHP Language with MySQL database. Following PHP MySQL project contains all the essential features which can be in use for the final-year IT students for their college projects. It has a number of features that will allow users to manage products and shop online. This system as well as the website’s concept is all clear. It’s the same as real-life scenarios and well-implemented on it. To download free Ecommerce Website project in PHP MySQL with source code files, please scroll down to the bottom of this post for the Download button.

About Ecommerce Website PHP MySQL Project

In particular, this Ecommerce System project in PHP focuses mainly on eCommerce aspects from online shopping to order management. To be more precise, the system helps customers to filter, shop online just like every other known eCommerce website. Also, the system contains all the product, order management features with it. In addition, the system allows managing customers, website settings, subscribers, and more. Evidently, this project contains an admin panel with a customer panel on the client side. In an overview of this web application, customers can simply register on the website in order to start shopping. He/she can filter products, add products to the cart, checkout, view orders, and much more. A customer can go through a number of phases of products under this PHP eCommerce project.

Featured, Latest and Popular Products

When it comes to projects such as eCommerce, it is mandatory thing that a website should include these sections for user satisfaction. Not just satisfaction, it also helps to develop a two-way relationship between the end-users and the website. Speaking of it, the featured section helps the end-users to interact with their products, either way, to boost it up as well. This particular section tends to attract users to their featured products. Likewise, as the name itself suggest the latest products, it displays a certain number of recently added products on the client-side. Similarly, this eCommerce website project counts total views on a certain product in order to display under popular category. Meaning, all the most-viewed products are automatically listed under it. In fact, these sections are totally controllable by the system administrator including their number of display products.

Cart, Product Category, View Customer’s Order and More

Talking about the product category, the customers can simply switch product sections with a simple click. With it, the website displays all the available products under the requested category. For instance, clicking on the men’s section displays products related to men and so on. This whole website contains a system to top and end level navigation for easy user interaction within the website. Also, a cart system is available for the users in order to add products to it for the checkout procedure. Also, this particular section contains all the necessary features such as updating the cart, removing items, and more. In addition to it, a customer can list out his/her personal order history from their profile. He/she can view order details such as product name, payment information, quantity, pricing, shipping status, and more. Besides, each customer can update billing addresses, update profiles and change passwords.

Admin Panel

Now moving towards the admin panel, an administrator has full control over the system. An admin has the right to manage the proper flow of the system. He/she can manage website settings, image sliders, products, orders, customers, and more. Speaking of website settings, it means an admin can update header-footer settings, website brandings, and other website details. Also, the admin has to manage shop settings such as color, size, shipping cost, categories. In-depth, the category refers to top, mid, and end level categories for displaying products. Each product needs to have a top, mid, and end level category just like a host for management of it. In fact, these are the exact point which displays under the website’s navigation bar. Besides, an administrator can manage image sliders, page settings, services sections for the client-side of things.

Product Management

On one hand, an admin has full access to managing products for the website. There is a number of required fields under this section. It includes the name of the product, its categories, pricing, size, color, description, features, images, and more. Also, there are no such limits while uploading image files for each product. And at last, the system provides an option to feature the product. Where the administrator can simply check on to the featured product section in order to list it out as a featured one on to the client-side. As mentioned earlier, an administrator has full control to manage all the featured items for the website. Besides, the user can simply activate and deactivate each product. Also, the quantity section gets automatically updated as soon as someone purchases it.

Order Management

On the other hand, all the orders from the customers are listed under this section. The system lists out order details with proper mention of customer and product details with payment information, paid amount, and status. All the orders are automatically set to pending status under shipping and payment status by default. Here, an admin has to verify each order manually and change the status of each order. Starting from the payment status to shipping status, an admin has to mark it as complete as soon as it gets. Additionally, the admin can also send personal messages to the customers regarding any product-related issues or a simple thank you message. This section is directly connected to the customer’s order history as the results depend upon the admin side of things. Besides, the user can delete orders, search orders by product name, customer name, or pricing details.

Customer Management and Page Settings

Moreover, every customer needs to verify their account after signing up. And all the verified customer accounts are listed under the customer section of the admin panel. Here, the administrator can view the customer’s detail such as name, email, contact information, and account status. In fact, an admin can manually change each customer’s account status and mark it as deactivated. Or, simply delete the whole record of the customer. Regarding page settings, it contains a section that covers the pages of the website such as contact, FAQs, and about us. The user can update the page title, banner photo, meta keywords, description for each section. To be more precise, an admin can update details of each available page on the website anytime from the system itself with ease.

Last but not least, a clean and simple dashboard is presented with various color combinations for greater user experience while using this Online Ecommerce Website System Project in PHP MySQL. For its UI elements, a free open-source CSS framework; Bootstrap is on board with some Vanilla CSS too. Presenting a new eCommerce Website Project in PHP MySQL which includes an admin panel that contains all the essential features to follow up, and a knowledgeable resource for learning purposes.

Available Features:
  • Client-Side Interaction
  • Admin Panel
  • Customer Registration
  • Add to Cart System
  • Checkout System
  • Update Billing Address
  • Search, Filter Products
  • Product Categories
  • Featured Products
  • Latest Products
  • Popular Products
  • View Order History
  • Update Customer Profile
  • Manage Website Settings
  • Manage Shop Settings
  • Product Management
  • Order Management
  • Pending Orders, Shippings
  • Set up Image Sliders
  • Set Shipping Charges
  • Page Settings
  • Set Social Media Links
  • Subscribers
  • View Registered Customers
Project Name:Ecommerce Website PHP Project
Language/s Used:PHP
PHP version (Recommended):5.6, 7.4
Developer:Hammad Hassan
Ecommerce Website PHP Project Overview

Instructions: How to Run?

  • After you finish downloading the project, unzip the project file and head over to your XAMPP directory.
  • There you’ll find a folder naming “htdocs”.
  • Inside the “htdocs” folder, paste the project folder (not the .zip one, but the extracted one).
  • Open your favorite browser; we recommend using Google Chrome or Mozilla Firefox.
  • Then, go to URL “http://localhost/phpmyadmin“.
  • Create a Database with a name that is provided inside the “01 LOGIN DETAILS & PROJECT INFO.txt”.
  • Click on the “Import” tab and choose the database file (.sql) which is provided under the folder naming “DATABASE FILE”.
  • After setting up all these, go to URL “http://localhost/[ PROJECT_FOLDER_NAME ]/“
  • All the login details are provided inside the project folder, check that out and enter in order to use it.

And there you have it, a full setup of the eCommerce site Project in PHP MySQL. For this particular PHP project, PHP Version 5.6 or 7.4 is required because the project does not operate with the oldest PHP version. So, users with the oldest PHP version (older than 5.6) might face various problems while operating it. As a result, you’ll need to manage your PHP version (only if you’re using the old version) at the moment. Also, Download Free eCommerce Site Project in PHP MySQL Source Code. So, this eCommerce Website PHP project is a fully functional project for all the intermediate levels that broads vast knowledge into such PHP web applications. In conclusion, this whole PHP project with free source code is an absolute project and a meaningful way for the users to learn and explore more about it.

Free Download Ecommerce Website Project in PHP MySQL with Source Code:
Click the Download Button Below to Start Downloading

Note: Only for Educational Purpose


  1. Hi. I have a problem when import databases:
    #1118 – Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
    — ————————————————————….

      1. I do not understand can you please tell me more clearly…. and also got the fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘ecommerceweb.tbl_settings’ doesn’t exist in C…………………

        1. Just open the db file using text editor, and you’ll see table “tbl_settings” on line number 1359. You have to import the database file before running the project!

  2. the file header.php is calling the table “tbl_settings” from the db but there is no such a table in the “ecommerceweb” db. therefore it’s showing:
    Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘ecommerceweb.tbl_settings’ doesn’t exist in C……………………………..

    1. That’s impossible. Please do check the SQL file properly. There’s a tbl_settings table on line number 1359. Please make sure you’ve created and imported the same db file before running the project.

  3. When I create a new account, I get this error. I want to cancel the account verification code
    Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘cust_token’ in ‘field list’ in C:\xampp\htdocs\eCommerceSite-PHP\registration.php:151 Stack trace: #0 C: \xampp\htdocs\eCommerceSite-PHP\registration.php(151): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\eCommerceSite-PHP\registration.php on line 151

    1. Are you sure that you’ve imported the same database that we’ve provided? Cause the column ‘cust_token’ is present inside the table ‘tbl_customer’.

      1. I did not change anything except on the tbl settings table because it shows me this problem
        #1118 – Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
        Changed InnoDB to MyISAM and added ROW FORMAT COMPRESSED

  4. how to remove
    i did remove script and get this
    Warning: session_start(): Cannot start session when headers already sent in /www/header.php on line 4
    Warning: session_start(): Cannot start session when headers already sent in /www/admin/inc/CSRF_Protect.php on line 29

  5. Warning: mail(): Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set…………………
    I am getting this error. Kindly help me in fixing this problem.

    1. There’s no mail feature as it does not work in this project. Customer Verification should be done by accessing the database and changing its active status [Also mentioned in the text file]

  6. this what when i try to run the it

    Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘ecommerceweb.tbl_settings’ doesn’t exist in C………..

  7. Please when I tried Setting the website especially the logo.. I get updated but the image doesn’t change.. any help? Though the pictures get into the folder 📂 but didn’t change on the website.. can you help?

  8. Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘ecommerceweb.tbl_settings’ doesn’t exist in C……………..
    please help

Leave a Reply

Your email address will not be published.