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
Database:MySQL
Type:Website
Developer:Hammad Hassan
Updates:0
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

115 comments

  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 tawk.to
    i did remove Tawk.to 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

  9. : mail(): Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in C:\xampp\htdocs\eCommerceSite-PHP\forget-password.php on line 73

    1. Your problem is mentioned right there! There’s no mail server configured in this project. Regarding that particular section, users have to do it themselves.

  10. sir mujeh solutions btade mujeh zarorat hai jaldi please . Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘p_id’ cannot be null in C:\xampp\htdocs\eCommerceSite-PHP\admin\product-add.php:143 Stack trace: #0 C:\xampp\htdocs\eCommerceSite-PHP\admin\product-add.php(143): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\eCommerceSite-PHP\admin\product-add.php on line 143

    1. Sorry, we’re unable to understand your language. Please prefer using English!
      Regarding those mentioned error messages, can we know about your PHP version?

      1. Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘p_id’ cannot be null in C:\xampp\htdocs\eCommerceSite-PHP\admin\product-add.php:143 Stack trace: #0 C:\xampp\htdocs\eCommerceSite-PHP\admin\product-add.php(143): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\eCommerceSite-PHP\admin\product-add.php on line 143

  11. Hi, I am not able to login using the email ID and password of the admin given.
    It shows: “Email Address does not match”

  12. #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.
    this error is showing after importing database file give a solution

  13. please help

    Fatal error: Uncaught Error: Undefined constant “DATABASE” in C:\xampp\htdocs\ecoomerse\db.php:8 Stack trace: #0 C:\xampp\htdocs\ecoomerse\action.php(4): include() #1 {main} thrown in C:\xampp\htdocs\ecoomerse\db.php on line 8

  14. Good Day

    I trust that you are well

    What should we do if we would like to use this as my business website after editing the website to my needs

    Kind Regards

  15. adding to cart not working, popup seys its added but cart empty
    there is no coding insert to tbl_order.

    1. You’ll only see data under tbl_order once you checkout! Regarding add to cart system, if it does not show any product under the cart then try adding a new product from the admin panel and try again!

  16. Fatal error: Uncaught mysqli_sql_exception: Table ‘ecom_store.services’ doesn’t exist in C:\xampp\htdocs\ecommerce-website-php\localstore.php:41 Stack trace: #0 C:\xampp\htdocs\ecommerce-website-php\localstore.php(41): mysqli_query(Object(mysqli), ‘select * from s…’) #1 {main} thrown in C:\xampp\htdocs\ecommerce-website-php\localstore.php on line 41

    it shows this and men women and localstore doesn’t work.

  17. Fatal error: Uncaught mysqli_sql_exception: Table ‘ecom_store.services’ doesn’t exist in C:\xampp\htdocs\ecommerce-website-php\localstore.php:41 Stack trace: #0 C:\xampp\htdocs\ecommerce-website-php\localstore.php(41): mysqli_query(Object(mysqli), ‘select * from s…’) #1 {main} thrown in C:\xampp\htdocs\ecommerce-website-php\localstore.php on line 41

    please help sir😣

  18. How to solve this problem?
    Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: ” for column `ecommerceweb`.`tbl_customer`.`cust_b_country` at row 1 in C………………………

    1. Looks like the LATEST version requires a different DateTime format than the one developers had set on.
      Try this: Format date like “Y-m-d H:i:s” in order to work with the MySQL DateTime field.

  19. I could not understand what you mean when you say “LANG_VALUE_…..”. When echoing… I would like to know where are you echoing the values from ..

    1. Well, we don’t know each and every code piece on how the developers of this project made it up. Guess, you’ll have to figure it out by yourself!

  20. Thanks.. i have just figured it out. They are echoed from the tbl_language using there id to make a respon to a particular value

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

  22. Hello! Do you use Twitter? I’d like to follow you if that would be ok.
    I’m absolutely enjoying your blog and look forward to new posts.

  23. Hello Sir after filling registration form and then submit. data is not inserted in database or not any message display that user registration successful.

      1. yes sure php version :-7.4.21.
        please check and help me out.its urgent for my project .
        After registration data not posted in database.
        help me out please sir.

        1. After registration, customer verification should be done by accessing the database and changing its active status.
          Also, make sure that you’ve created a database with right name as mentioned in the text files and import the SQL file.

          1. yes sir i know but after registration button click data not uploaded in database so how i will update active status tell me..

  24. yes sir i will do same as mentioned but i did not getting the problem. how can i share images for the same.kindly address for the issues.

  25. The registration form fill and then click registration button then page get blank and form not submitted in database table. i will provide you the link which error i am facing.(https://we.tl/t-6brYQINBDZ )
    please go through the video and help me out. its urgent.

  26. prepare(“SELEC*FROM galeri………………………..

    I’m pulling from database 3 tables are not coming

  27. Hi, how can I remove the share social media button in the main page. I have tried just leave the input field blank but it still appear.

  28. consulta SQL: Copiar
    CREATE TABLE `tb l_settings` (
    `id` int(11……………………………………….
    MySQL ha dicho: Documentación

    #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.

  29. Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: ” for column ‘cust_b_country’ at row 1 in C:\wamp64\www\registration.php on line 151

    Get this error every time I try to register a new account to test!

    1. We’ve tested it again, but we didn’t see such error messages. Errors like this might occur due to variations of versions. This project was tested on PHP 5.6 and 7.4

  30. — ——————————————————–

    — Table structure for table `tbl_settings`

    CRETE TABLE `tbl_ settings (
    `id` int(11) NOT NULL……………….

  31. How to fix this?
    Connection error :SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: NO)
    Fatal error: Uncaught Error: Call to a member function prepare() on string in D:…………..

  32. Fatal error: Uncaught Error: Call to a member function prepare() on string in D:\xampp\htdocs\eCommerceSite-PHP\eCommerceSite-PHP\header.php:17 Stack trace: #0 D:………….
    how to fix this? thank you in advance

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

  34. Can I change the name of the database in the code file? If possible give me the code file containing the database name. Thank you !

Leave a Reply

Your email address will not be published.