Complete Online Learning Management System In PHP MySQL Free Source Code | CampCodes ...

Complete Online Learning Management System in PHP MySQL Free Source Code

March 6, 2024
Complete Online Learning Management System in PHP MySQL

Project: Complete Online Learning Management System in PHP MySQL with Source Code

Welcome to our in-depth guide on creating a robust Complete Online Learning Management System (LMS) using PHP and MySQL. In this comprehensive tutorial, we’ll walk you through the entire process of building an efficient and user-friendly LMS from scratch. By the end of this guide, you’ll have a fully functional system capable of managing courses, students, instructors, and much more.

About Online Learning Management System in PHP MySQL

This Complete Online Learning Management System is develop in PHP MySQL database, using JavaScript, HTML, CSS, Modal, Ajax, and Bootstrap, this system is easy to use and very friendly user in web application, it contain of admin and user, the user is represent as a student, before the student to make their own account we need sign up to login, and also the student can add everything in school like select courses, under the approval of admin, but for any inquires the student also can chat the admin using online chat. The admin can manage all transaction in online chat, approved, and delete user.

Admin Dashboard

The admin dashboard serves as the central hub for managing various aspects of the system. It includes modules for managing categories, courses, students, enrollments, reports, and messages.


  • Add new categories with customizable attributes such as category code, title, parent category, icon picker, and thumbnail.


  • View active, pending, free, and paid courses.
  • Filter courses based on categories, status, instructor, and price.

Student Management

  • Add, edit, and delete student profiles.
  • Search for students based on specific criteria.


  • Monitor enrollment history and enroll students in courses.


  • Generate reports on admin and instructor revenue, enrolled courses, total amount, and enrollment status.


  • Configure system settings, website settings, payment settings, instructor settings, language settings, SMTP settings, and more.


  • Add New Categories, Category Code, Category Title, Parent, Icon Picker, Category, and Thumbnail.


  • Active Courses, Pending Courses, Free Courses, Paid Courses, Course List, Categories, Status, Instructor, Price and Filter.


  • Add New Students, Show Entries, Photo, Name, Email, Enrolled Courses, Edit, Delete, and Search.


  • Enroll History, Enroll a Student, Enrollment Form, User, and Course, to Enroll.


  • Admin Revenue, Instructor Revenue, Enrolled Course, Total Amount, Enrollment Date and Status.


  • System Settings, Website Settings, Payment Settings, Payment Setting, Instructor Settings, Language Settings, SMTP Settings, About, Themes, Mobile App

System Setting

  • Website Name, Website Title, Website Keywords, Website Description, Author, Slogan, System Email, Address, Phone, You Tube Key, Vimeo, Api Key, Purchase Code, System Language, Student Email Verification, and Footer Link.

Website Setting

  • Banner Title, Banner Sub Title, About Us, Term of Condition, Privacy Policy

Payment Setting

  • System Currency, Currency Position, Active, Mode, Paypal Currency, Client ID.


  • Instructor Setting, Allow Public Instructor, Instructor Revenue, Admin Revenue percentage.

Language Setting

  • Language List, Add Phrase, Add language, Edit, and Delete.

SMTP Setting

  • Protocol, SMTP Host, SMTP Port, Username, Password.

Online Learning Management System Flowchart

The flowchart depicts the comprehensive process flow of our Online Learning Management System (LMS). Here’s a detailed description of each component and the corresponding actions:

  1. User Access (A): The flow begins when a user accesses the system.
  2. Authenticated? (C): Upon accessing, the system checks whether the user is authenticated or not.
    • Yes: If the user is authenticated, they are directed to the Admin Dashboard (D).
    • No: If not authenticated, they are prompted to login/register (E).
  3. Admin Dashboard (D): This is the central hub for administrators to manage various aspects of the system.
    • Manage Categories (F): Admins can add, edit, and delete categories for organizing courses.
    • Manage Courses (G): Admins can add, edit, and delete courses, as well as manage course details.
    • Manage Students (H): Admins can add, edit, and delete student profiles.
    • Manage Enrollment (I): Admins can enroll students in courses and manage enrollment details.
    • Generate Reports (J): Admins can generate reports on various system activities and statistics.
    • Configure Settings (K): Admins can configure system-wide settings such as system, website, payment, instructor, language, and SMTP settings.
  4. Login/Register (E): Users are prompted to either login with existing credentials or register for a new account.
    • Login (L): Existing users can login to access the system.
    • Register (M): New users can register for a new account to access the system.
  5. Functionality Sub-flows:
    • Manage Categories (F): Admins can add new categories, enter category details, and save them.
    • Manage Courses (G): Admins can add new courses, enter course details, and save them.
    • Manage Students (H): Admins can add new students, enter student details, and save them.
    • Manage Enrollment (I): Admins can enroll students in courses by selecting users and courses, then proceeding to enroll them.
    • Generate Reports (J): Admins can select the type of report they want to generate and then proceed to generate the report.
    • Configure Settings (K): Admins can select the type of setting they want to configure (system, website, payment, etc.), enter the necessary details, and save the settings.
  6. Looping and Navigation:
    • Users can loop back to the main dashboard or navigate between different functionalities based on their requirements.
Online Learning Management System Flowchart

Online Learning Management System Flowchart

This flowchart provides a detailed overview of the entire process flow within our Online Learning Management System, guiding users through various actions and functionalities available within the system.

Online Learning Management System ER Diagram

Here’s a detailed description of the entities and their attributes in the ER diagram for the Online Learning Management System:

  1. USER Entity:
    • UserID: Unique identifier for each user.
    • Username: User’s username for authentication.
    • Password: User’s password for authentication.
    • Email: User’s email address for communication.
    • Role: Role of the user in the system (e.g., student, instructor, admin).
  2. CATEGORY Entity:
    • CategoryID: Unique identifier for each category.
    • CategoryCode: Code representing the category.
    • CategoryTitle: Title or name of the category.
    • ParentCategoryID: Identifier indicating the parent category (if any).
  3. COURSE Entity:
    • CourseID: Unique identifier for each course.
    • CourseTitle: Title or name of the course.
    • Description: Description providing details about the course content.
    • Status: Status of the course (e.g., active, inactive).
    • InstructorID: Identifier of the instructor associated with the course.
    • CategoryID: Identifier of the category to which the course belongs.
    • Price: Price of the course.
    • Currency: Currency in which the course price is specified.
  4. STUDENT Entity:
    • StudentID: Unique identifier for each student.
    • Name: Name of the student.
    • Email: Email address of the student.
    • PhotoURL: URL pointing to the student’s profile photo.
    • EnrolledCoursesIDs: List of course IDs in which the student is enrolled.
  5. ENROLLMENT Entity:
    • EnrollmentID: Unique identifier for each enrollment record.
    • StudentID: Identifier of the student enrolled in the course.
    • CourseID: Identifier of the course in which the student is enrolled.
    • EnrollmentDate: Date when the student enrolled in the course.
    • Status: Status of the enrollment (e.g., pending, completed).
  6. REPORT Entity:
    • ReportID: Unique identifier for each report.
    • ReportType: Type or category of the report.
    • GeneratedDate: Date when the report was generated.
    • Details: Additional details or information included in the report.
  7. INSTRUCTOR Entity:
    • InstructorID: Unique identifier for each instructor.
    • Name: Name of the instructor.
    • Email: Email address of the instructor.
    • Bio: Biography or profile description of the instructor.
    • Specialization: Area of specialization or expertise of the instructor.
    • PhotoURL: URL pointing to the instructor’s profile photo.
Online Learning Management System ER Diagram

Online Learning Management System ER Diagram

This highly detailed ER diagram provides an exhaustive view of the data model for the Online Learning Management System. It includes specific attributes for each entity, such as user details, course information, enrollment records, and instructor profiles. This level of detail ensures a comprehensive understanding of the system’s data structure and relationships.

Online Learning Management System Project

  • Name of Project:     Online Learning Management System
  • Language Used:      PHP
  • Database Used:      MySQL
  • Design Interface:    Bootstrap JavaScript, HTML, Ajax, JQuery,
  • Browser:                  Opera Mozilla Google Chrome IE8,
  • Software:                 WAMP/ XAMPP/ LAMP/MAMP


online learning management system

online learning management system

online learning management system project

online learning management system project

online learning management system in php mysql free download

online learning management system in php mysql free download

How To Run the System

Above all, to run this project you must have installed a virtual server i.e XAMPP on your PC. Complete Online Learning Management System in PHP and MySQL with source code is free to download, Use for educational purposes only!

Follow the following steps after Starting Apache and MySQL in XAMPP:

1st Step: Firstly, Extract the file
2nd Step: After that, Copy the main project folder
3rd Step: So, you need to Paste in xampp/htdocs/

Further, Now Connecting Database

4th Step: So, for now, Open a browser and go to URL “http://localhost/phpmyadmin/”
5th Step: After that, Click on the databases tab
6th Step: So, Create a database naming “dblms” and then click on the import tab
7th Step: Certainly, Click on browse file and select “dblms.sql” file which is inside the “db” folder
8th Step: Meanwhile, click on Go button.

After Creating Database,

9th Step: Moreover, Open a browser and go to URL “http://localhost/Online_Learning_Management_System”

Username:** / Password: admin

System Requirements and Installation

Before diving into the development process, ensure that you have the following prerequisites:

  • Virtual server software like XAMPP installed on your PC.
  • Basic knowledge of PHP, MySQL, HTML, CSS, and JavaScript.

Follow these steps to set up the project on your local machine:

  1. Download the Project: Extract the project files and copy the main folder to the xampp/htdocs/ directory.
  2. Database Setup: Access phpMyAdmin via your browser and create a new database named dblms. Import the dblms.sql file located in the db folder.
  3. Configuration: Update the necessary configuration settings such as database credentials, SMTP settings, and website details in the appropriate files.
  4. Accessing the System: Once the setup is complete, navigate to http://localhost/Online_Learning_Management_System in your browser. Use the provided credentials (Username: / Password: admin) to log in to the admin panel.

Project Demonstration

For instance, have a look at the video below for the project demo.


In conclusion, building an Online Learning Management System with PHP and MySQL offers immense potential for educational institutions, businesses, and independent instructors to deliver high-quality learning experiences to their audience. With our comprehensive guide, you’re equipped with the knowledge and resources to develop a feature-rich LMS tailored to your specific requirements.

Stay tuned for more tutorials and updates on web development topics. Happy coding!

Related Projects: Online Class Scheduling System in PHP MySQL, Complete Class Scheduling System (Timetable generator) using Genetic Algorithms in C# and MS SQL, Complete College School Management System using Python Django, Complete School Management System using PHP MySQL, Inilabs School Express : Complete School Management System Software, Advanced School Management System with Complete Features, School File Management System using PHP/MySQLi, Online School Attendance Management System in PHP MySQL, Complete Web-Based School Management System using PHP MySQL, Complete School ERP System, Complete Multi Branch School Management System using PHP MySQL

Free Download Complete Online Learning Management System in PHP MySQL Source Code

Download Here

This is a free education portal. You can use every source code in your project without asking permission to the author. Share our website to everyone to make our community of programmers grow more.

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
  • I want to change the view interface, which file do I need to edit?

    hưng April 15, 2024 4:35 am Reply
  • If anyone need instant help for this application setup, purchase code issues or software customizations then contact me right now for professional help & services instantly. Whatsapp contact: +923006037178

    Best Regards
    Senior Software Engineer

    Tahir Mubeen April 3, 2024 7:05 pm Reply
  • I can’t find any donwload link here

    Yoko August 25, 2023 3:52 pm Reply
  • how to change the name of this project

    I can’t find the html page to change the name

    avre April 9, 2023 3:38 pm Reply
  • Cannot select catagory while adding course  please help me

    RAHUL GUPTA March 2, 2023 12:53 pm Reply
  • tyty

    tyty January 12, 2023 12:16 pm Reply
  • a file is missing there, the one that source for youtube

    Peter Thomas August 2, 2022 7:01 am Reply
  • editing is possible in these project…??

    Asif July 14, 2022 10:34 pm Reply
  • Cannot select catagory while adding course . can anyone help me with this

    Ravi May 16, 2022 2:35 pm Reply
    • mee to i cant

      yahia June 16, 2022 8:17 am Reply
    • Categories are like Headings to the sub-categories, the CANNOT be select.
      The SOLUTION to this is to create a sub-categories.
      Example a category can be “Programming” and have a sub-categories of PHP, JAVA, C++, etc. Sub-categories CAN be selected.

      Victorious December 30, 2022 3:53 am Reply
  • I cannot select the catagory ? How to solve ? Can anyone help me with this

    Ravi amatya May 16, 2022 2:08 pm Reply
  • Hello, Great Work don’t know how did you manage to put up so much for free I know few modules May not work properly but to be Frank what more can somebody expect for what you have put forth is simply great work, just wanted to ask if I can use this for my own coaching institutes purposes and workout on changes to modify your codes as per my requirement, do share your views.

    Sumanth April 7, 2022 3:49 pm Reply
  • Whenever we add course and lessons it’s showing added but in website it’s not showings course and lesson to student and admin… Means vedio and lesson is not added in your project website. It’s means in your free source code something is missing.. How you can say this is comple websit project… Free source code for comple project website .. u don’t added main Motive means course code …it’s not added I try again and can learn student on this demo website.. how can I prepare my project without adding single course… If you have solution pl convey me within one or two days

    Deepika January 31, 2022 11:12 am Reply
    • I need system research paper

      Mohamed February 19, 2022 6:50 am Reply
    • Write it yourself)))

      Anonymous March 15, 2022 10:55 pm Reply
  • cant get anything after uploading to domain! Help pls

    Dan December 16, 2021 1:35 am Reply
  • error read/download course, cant analyze link youtube, can you help me?

    Adit December 1, 2021 10:02 pm Reply
  • hi

    jay October 24, 2021 6:42 pm Reply
  • In need of the project for commercial use

    Clayton Mmbehi September 30, 2021 7:00 pm Reply
  • Am need of nd project topics

    Abubakar sadiq August 22, 2021 9:56 pm Reply
  • its not taking course category

    sumit June 3, 2021 2:53 pm Reply
  • can i create coding exercises also inside the courses??

    planeducator May 31, 2021 1:47 pm Reply

Leave a Reply

Your email address will not be published. Required fields are marked *