Employee Performance Evaluation System in PHP/MySQLi with Source Code - Updated


Project: Simple Employee Performance Evaluation System using PHP/MySQLi

About The Project

The Employee Performance Evaluation System is a simple project that can help a certain company evaluate the performance of their employees based on their task accomplishments. This system has 3 types of users which are the Admin, Employee, and Evaluator. The Admin Side is the system user that in-charge to manage the important data of the system such as the department, designation, employee list, and list of evaluators. The admin has access to all of the data stored and the database. The Employee side is the system users that can only access the tasks where they are assigned and submit their progress. The submitted progress of the employee in each task will be the reference of the evaluators on how they will rate the employees. The Evaluator side is the system user side that evaluates the performance of the employees' every task. They will evaluate the employees' by their efficiency, timeliness, quality, and employees' accuracy to accomplish a certain task.

How the System Works

The Employee Performance Evaluation System users can be only created by admin users. The first thing that the admin should do in the system is to populate the department, designation, and the evaluators' list. After that, they will store the details of the employees and along with the employees' system credentials. Then, the admin will create a task and assigned this to an employee. When the employee has already assigned a task, the employee will log in to the system each time they have progressed for a certain task and submit their progress details to store in the system database. When the employee finally completed the task they must check the "Task Completed" check box so that the evaluator can start to evaluate their accomplishment and rate their performance. After the employee marks the task assigned to them as "Completed Task", the evaluator can now begin to evaluate the performance of the employee.


  • Login Page
  • Home Page
  • Department List
  • Designation List
  • Employees List
  • Evaluators List
  • Users List
  • Task List
  • Evaluation List

The Employee Performance Evaluation System was developed using HTML, PHP/MySQLi, CSS, JavaScript (jQuery/Ajax), and Bootstrap for the design. The source code is fully functional and easy to modify or enhance. Follow the instruction below to have an actual experience using this simple project.

How to Run

  1. Download the source code and extract the zip file.
  2. Download or set up any local web server that runs PHP script.
  3. Open the web-server database and create a new database name it "epes_db".
  4. Import the SQL file located in the database folder of the source code.
  5. Copy and paste the source code to the location where your local web server accessing your local projects. Example for XAMPP('C:\xampp\htdocs')
  6. Open a web browser and browse the project. E.g [http://localhost/epes]

Admin Access

Email: admin@admin.com
Password: admin123

Installation Demo

I hope this Simple Employee Performance Evaluation System will help you with what you are looking for, feel free to download and modify the source code.



  • Fixed database error about 'about avatar' due to default value

Explore more on this website for more source codes and tutorials.


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 SourceCodester.com 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.


I have re-tested the source code using the downloadable zip file in this article and it is working. Please make sure that you have already imported the "SQL" file and if ever local server has a password please configure also the "db_connect.php" file in the source code. You can also check the Installation Demo Video.

when I import sql database on phpmyadmin

Show me this message

SQL query-- -------------------------------------------------------- -- -- Table structure for table `employee_list` -- CREATE TABLE `employee_list` ( `id` int(30) NOT NULL, `employee_id` varchar(50) NOT NULL, `firstname` varchar(200) NOT NULL, `middlename` varchar(200) NOT NULL, `lastname` varchar(200) NOT NULL, `email` varchar(200) NOT NULL, `password` text NOT NULL, `department_id` int(30) NOT NULL, `designation_id` int(30) NOT NULL, `evaluator_id` int(30) NOT NULL, `avatar` text NOT NULL DEFAULT 'no-image-available.png', `date_created` datetime NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4


MySQL said: Image removed.

#1101 - BLOB/TEXT column 'avatar' can't have a default value

Submitted byphilip.kiwese (not verified)on Sun, 12/13/2020 - 17:18

am getting empty response when trying to view or add progress on task starting #11......but task #1 up to 10 works fine ...any help plz
Submitted bymk0123 (not verified)on Sat, 01/09/2021 - 16:16

Hi, I did included the db file in phpmyadmin. but localhost/epes is failed to load. getting 404 only
Submitted byji (not verified)on Fri, 02/12/2021 - 04:37

hi, so i try to change the employee into student as im making student evaluation system, but add new student doesnt work. ive change all related things in database but still doesnt work. after fill in the new students form, the page just loading (buffering). idk what to do. help me
Submitted byoretnom23on Tue, 03/02/2021 - 14:09

Hi guys,

The Source Code File is now updated. You can now download the updated file and feel free to leave a comment if ever you may encounter other bugs/errors. Thank you

Please provide an appraisal program. Like end user enters their job description which performed throughout the year. And marks provide by Reporting on it. After that Mark view and changing by HOD on it. Then after go to the Acceptance authority to view and edit and approved the same.
Submitted byAhsan Tariq (not verified)on Fri, 04/30/2021 - 03:28

I am unable to delete the tasks. When I click continue, it does nothing.
Submitted byfrascis (not verified)on Tue, 01/18/2022 - 14:14

On starting its starts already logged in, is it a bug or its the code? Can this be used on an online server.
Submitted bySuresh.R (not verified)on Mon, 02/28/2022 - 14:36

I could not add any new employee as well, the page just loading (buffering).

Hi! First of all, props to OP for the code. Thanks man! Second: There is a bug in the code. At least in the one I downloaded. I'll try to expling the problem: new_employee calls ajax.php, and ajax.php calls the class fuction new_employee. If success, it returns 1, if email already exists, returns 2. It will show the "loading" gif until 1 or 2 is returned. The problem is: there is an error happening, so no 1 or 2 are returned and loading lastas forever. The bug: There is a field in table employee_list called employee_id that is required in the table, but there is no such field in the form so, when trying to insert the employee, raises an error and crashes. There are two workarounds: Simpler: In table employee_list, turn the field employee_id Not Null property to false. Better: In file new_employee.php add the missing field. Just add the code bellow after line 12:
  1. <div class="form-group">
  2. <label for="" class="control-label">Employee ID</label>
  3. <input type="text" name="employee_id" class="form-control form-control-sm" required value="<?php echo isset($employee_id) ? $employee_id : '' ?>">
  4. </div>
Submitted byThomasks (not verified)on Thu, 03/10/2022 - 21:37

It is nice Good
Submitted byKarma wangdi (not verified)on Thu, 05/12/2022 - 10:54

Someone help me to change the email login to employee ID. login. please help me. I want to display organization's employee ID instead of the email ID.
Submitted byAnonymous (not verified)on Thu, 03/16/2023 - 03:48

very good

Add new comment