Online Leave Management System in PHP Free Source Code


I have created a PHP Project entitled Online Employee Leave Management System. This PHP Project provides the company's management and employees an online platform to manage the leave applications. The application is mobile-responsive which is helpful nowadays because most of the employees owning a personal mobile smartphone. Using this system, the employees can easily apply for leave even they are not present in the office. Also, management can easily track the employees' leave records annually and this application has a feature that prevents the employee to apply if they already consumed their leave credits. Each employee's leave privileges are manageable here which means the management can manage the employee's leave privilege and credits individually. The employees' leave credits are automatically reset annually. This online application also generates a printable date-wise report for leave applications.

About the Online Employee Leave Management System

This web application was developed using PHP, MySQL Database, HTML, CSS, JavaScript (Ajax & jQuery), Bootstrap, AdminLTE Template, and some other libraries/plugins. I created this project using XAMPP version 3.30 and does have a PHP version of 8.0.7.

The Online Employee Leave Management System is easy to use and has a pleasant user interface. This consists of 3 types of system users which are the Admin, Staff, and Employee. The Admin User has access and can manage all the features and functionalities of the system. The Staff User has only restricted access to some features and functionalities does the Admin has. Lastly, the Employee User can only track his/her leave records, manage his/her application, and manage his/her system account/credentials.


Admin Side

  • Secure Login/Logout
  • Dashboard
  • Manage Department List
  • Manage Designation List
  • Manage List of Leave Types
  • Manage Employee List
  • Manage Employee's Leave Privilege
  • Manage Leave Applications
  • Manage User List
  • Update Leave Application's Status
  • Print Employees Leave Records
  • Generate Leave Application Report
  • Manage System Settings
  • Manage Account Credentials

Staff Side

  • Secure Login/Logout
  • Dashboard
  • Manage Employee List
  • Manage Employee's Leave Privilege
  • Manage Leave Applications
  • Update Leave Application's Status
  • Print Employees Leave Records
  • Generate Leave Application Report
  • Manage System Settings
  • Manage Account Credentials

Employees Side

  • Secure Login/Logout
  • Dashboard
  • View Leave Records
  • Print Leave Records
  • Create Leave Application
  • Manage Leave Application
  • Manage Account Credentials

System Snapshots

Employee's Record Page

Leave Management System

Leave Application List (Admin)

Leave Management System

New Employee Form

Leave Management System

Manage Employee's Leave Privilege and Credits

Leave Management System

The source code is free to download on this website. Feel Free to Download and Modify the source code the way you wanted to meet your requirements. Follow the instructions below to run the project.

How to Run ??


  • Download and Install any local web server such as XAMPP/WAMP.
  • Download the provided source code zip file. (download button is located below)


  1. Open your XAMPP/WAMP's Control Panel and start the Apache and MySQL.
  2. Extract the downloaded source code zip file.
  3. If you are using XAMPP, copy the extracted source code folder and paste it into the XAMPP's "htdocs" directory. And If you are using WAMP, paste it into the "www" directory.
  4. Browse the PHPMyAdmin in a browser. i.e. http://localhost/phpmyadmin
  5. Create a new database naming leave_db.
  6. Import the provided SQL file. The file is known as leave_db.sql located inside the database folder.
  7. Browse the Online Employee Leave Management System in a browser. i.e. http://localhost/leave_system.

Default Admin Access Information

Username: admin
Password: admin123

Note: Newly created employee's default system password is his/her Employee ID.


That's it. You can now explore the features and functionalities of this Online Employee Leave Management System that was developed using PHP Language and MySQL Database. I hope this project will help you with what you are looking for and you'll find something useful for your future projects.

Explore more on this website for more Free Source Codes and Tutorials.

Enjoy :)

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.


Submitted byAnonymous (not verified)on Mon, 08/23/2021 - 16:25

the is the problem on the design when i tested.. can you help me to fix please.

Did you change the source code folder name when you paste it in your htdocs? If yes, try to configure the initilize.php file and change the base_url constant according to your folder name/ i.e http://localhost/[project_name]

Submitted byozer (not verified)on Mon, 01/03/2022 - 05:26

can i ask a question? if this possible user create a leave form and send an manager information e-mail?
Submitted byTen (not verified)on Wed, 02/16/2022 - 19:03

Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/2.2.8 (Win32) PHP/5.2.6 Server at Port 80

The same error I am getting Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at [email protected] to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.51 (Win64) PHP/7.4.26 Server at localhost Port 80
Submitted bySubrato Bose (not verified)on Sat, 05/07/2022 - 20:49

Leave Type not showing more than 2, I have created 3 Leave Types (CL, SL, and PL) but showing only CL and SL. Kindly suggest a solution.
Submitted bypokbaa (not verified)on Mon, 10/31/2022 - 12:46

why another staff cant applly leave because they dont have priviliges
Submitted bySaluka Kodituwakku (not verified)on Sun, 11/13/2022 - 17:16

Hi Thanks for sharing your work. I checked it and works nicely. By the way I have a question about this web apps. How do I deploy this in a web server?
Submitted byGriv (not verified)on Sun, 11/20/2022 - 18:12

icant edit or update or save employee list if i go through action and edit. i cant save it, it said än error occured
Submitted byDavid Alao (not verified)on Sun, 03/12/2023 - 20:34

Thank you so much for this application. Everything works fine. The only thing I need now is to increase the approval level. Presently, we only have one, but I need it to be two. I.e. in my organization, Head of Department must approve before the Director of Finance and Corporate Services will approve. I will be happy if I can be guided on how to achieve this. Good job sir.
Submitted bynisha Prasad (not verified)on Tue, 05/23/2023 - 20:43

copyright ko kha se hata sakte hai
Submitted byObeng (not verified)on Tue, 06/06/2023 - 03:17

Hi, cannot edit employee information on manage_employee page. Get this sql error on return. Seems related with employee id not passing within the sql command.

Please assist.
  1. <b>Fatal error</b>: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '23'' at line 1 in D:\xampp\htdocs\leave_system\classes\Master.php:268
  2. Stack trace:
  3. #0 D:\xampp\htdocs\leave_system\classes\Master.php(268): mysqli-&gt;query('UPDATE `users` ...')
  4. #1 D:\xampp\htdocs\leave_system\classes\Master.php(489): Master-&gt;save_employee()
  5. #2 {main}
  6. thrown in <b>D:\xampp\htdocs\leave_system\classes\Master.php</b> on line <b>268</b><br />
Submitted bylogin for staff (not verified)on Wed, 06/28/2023 - 15:25

My head hurts thinking on how to add login for staff. I really need help for that.
Submitted byAnonymous (not verified)on Thu, 07/20/2023 - 14:16

Its really nice work and keep it up.
Submitted bynice job (not verified)on Fri, 08/18/2023 - 21:18

the design is very perfect.. i fixed some bugs, but i have a problem when i edit the info of the user, the current user will change to the one i edit with... can anyone help me with this bug..thanks
Submitted bymabuting bata (not verified)on Tue, 12/19/2023 - 08:01

i fixed all bugs, and everything works fine in localhost, but when i deploy on web server, theres an error in adding/deleting Application, Department and Designation..
Submitted byAnonymous (not verified)on Thu, 01/11/2024 - 16:17

Hi! I tried to access the localhost website from another computer but the page does not appear the same as the source/main computer. the post are the same which is 80,443 using the xampp. But The page does not appear the same. When I also click the login, it does not work on the other computer. The main computer works perfectly. Hoping for your help on this one. THanks
Submitted byZanGetSuSoul (not verified)on Tue, 04/23/2024 - 06:38

Dear kindly i want the user has no authority just to update status of the leave for one time also user registered to specific designation

Add new comment