School Management System (SMS) is a web application commonly used in schools to manage teachers, students, classes, subjects, sections, student attendance, etc.
So if you are a PHP developer and want to develop School Management System with PHP, you are here at the right place. This tutorial will teach how to develop a School Management System with PHP and MySQL.
We will cover this tutorial in easy steps, from developing a live demo of the school management system to covering major functionalities like managing teachers, students, classes, subjects, sections, student attendance, etc. This is a straightforward school management system for learning purposes and can be enhanced according to the requirement to develop a perfect advanced level system. The download link is at the end of the tutorial to download the complete project with database tables.
Table of Contents
Read Also: How to Create a Histogram in Excel (Step-by-Step Guide)
About School Management System
School Management Systems manage all the information of the students and/or faculty in a particular school.
In our project, we will only use it to manage some basic personal information of the students of a school.
So let us start implementing School Management System with PHP and MySQL. Before we begin, take a look at the files structure for this example.
Read Also: Uses Of Function Keys [F1-F12] In Windows | The Time-Saving Function Key Shortcuts you need to know
Features of School Management System with PHP & MySQL
- Multi Login
- Student Management
- Teacher Management
- Attendance Management
- Salary Management
- Payment Management
- Timetable Management
- Exam Management
- Petty Cash Management
- Event Management
- Notification Management
- Online Chat
- Classroom Management
- Grade Management
- Subject Management
- Invoice Management
Requirements
• PHP 5.5
• MYSQL 4.6
• Text Editor Software
Create MySQL Database Table
First, we will use MySQL database tables for all the features of our project like admin, chat, classroom, events, exam, grade, group message, parents, payment notifications, student etc. The table structure and data are available in the project download zip file.
Connection with Database
You can change or update the Database settings in config.php file located in controller folder
$servername = "localhost"; $username = "Enter Database Username"; $password = "Exter Database Password"; $dbname = "Enter Database Name"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
Don’t forget to change username, password and dbname (database name).
Create User Login form
In the index.php file, we will create a login form to implement an admin login to allow access to the logged-in user only.
<div class="modal fade" id="loginFrom" tabindex="-1" role="dialog" aria-labelledby="loginFrom" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content "> <div class="modal-header bg-aqua-gradient"> <h4>User Login...!</h4> </div> <div class="modal-body bgColorWhite"> <form role="form" action="../index.php" method="post"> <div class="box-body"> <div class="form-group" id="divEmail"> <label for="">Email</label> <input type="text" class="form-control" id="email" placeholder="Enter email address" name="email" autocomplete="off"> </div> <div class="form-group" id="divPassword"> <label for="">Password</label> <input type="password" class="form-control" id="password" placeholder="Enter password" name="password" autocomplete="off"> </div> </div><!-- /.box-body --> <div class="box-footer"> <input type="hidden" name="do" value="user_login" /> <button type="submit" class="btn btn-info" id="btnSubmit">Submit</button> </div> </form> </div> </div> </div> </div><!--/.Modal-->
We will implement user login on the login form by calling the method Login() in login.php
function login(){ //document.ready(function{ $('#loginFrom').modal({ backdrop: 'static', keyboard: false }); $('#loginFrom').modal('show'); }; $("form").submit(function (e) { //MSK-000098-form submit var uname = $('#email').val(); var password = $('#password').val(); if(uname == ''){ //MSK-00099-name $("#btnSubmit").attr("disabled", true); $('#divEmail').addClass('has-error has-feedback'); $('#divEmail').append('<span id="spanEmail" class="glyphicon glyphicon-remove form-control-feedback msk-set-color-tooltip" data-toggle="tooltip" title="The user name is required" ></span>'); $("#email").keydown(function() { //MSK-00100-name $("#btnSubmit").attr("disabled", false); $('#divEmail').removeClass('has-error has-feedback'); $('#spanEmail').remove(); }); } if(password == ''){ //MSK-00099-name $("#btnSubmit").attr("disabled", true); $('#divPassword').addClass('has-error has-feedback'); $('#divPassword').append('<span id="spanPassword" class="glyphicon glyphicon-remove form-control-feedback msk-set-color-tooltip" data-toggle="tooltip" title="The password is required" ></span>'); $("#password").keydown(function() { //MSK-00100-name $("#btnSubmit").attr("disabled", false); $('#divPassword').removeClass('has-error has-feedback'); $('#spanPassword').remove(); }); } if(uname == '' || password == ''){ //MSK-000098- form validation failed $("#btnSubmit").attr("disabled", true); e.preventDefault(); return false; }else{ $("#btnSubmit").attr("disabled", false); } });
Manage Different Users (multi login setup)
School Management System supports different type of users login like
- Admin User
- Teacher User
- Student User
- Parent User
You can find the code for all user in the /view folder.
File Structure of Different Users
File Structure for Admin User – Click here to expand
Dashboard
- view/dashboard.php
- view/all_events1.php.
- view/show_events1.php
My Profile
- view/admin_profile.php
- model/get_admin_profile.php
- view/my_profile_update_form.php
- model/update_admin_profile.com
Classroom
- view/class_room.php
- view/show_classroom_table.php
- model/add_classroom.php
- model/get_classroom.php
- model/update_classroom.php
- model/delete_record.php
Grade
- view/grade.php
- view/show_grade_table.php
- view/emarks_range_grade_update_form.php
- view/range_garde_text.php
- model/add_grade.php
- model/get_grade.php
- model/update_grade.php
- model/add_emarks_range_grade.php
- model/delete_grade.php
- model/update_emarks_range_grade.php
- model/delete_range_grade.php
Subject
- view/subject.php
- view/show_subject_table.php
- model/add_subject.php
- model/get_subject.php
- model/update_subject.php
- model/delete_record.php
Teacher
Add Teacher
- view/teacher.php
- model/add_teacher.php
All Teacher
- view/all_teacher.php
- view/show_teacher_table.php
- model/get_teacher.php
- model/update_teacher.php
- view/ teacher_salary_details.php
- view/ teacher_salary_details2.php
- view/ teacher_salary_details3.php
- view/ add_teacher_salary.php
- view/ teacher_salary_invoice.php
- view/teacher_salary_invoice1.php
- view/ teacher_salary_history1.php
- model/delete_record.php
Subject Routing
- view/subject_routing.php
- view/show_subject_routing_table.php
- view/ subject_fee_text.php
- model/add_subject_routing.php
- model/get_subject_routing.php
- model/update_subject_routing.php
- model/update_subject_fee.php
Timetable
- view/timetable.php
- view/ timetable_grade_wise.php
- view/timetable_insert_form.php
- view/ timetable_update_form.php
- model/get_teacher_timetable.php
- model/get_timetable.php
- model/add_timetable.php
- model/delete_record.php
Student
Add Student
- view/student.php
- view/show_student_subject.php
- view/student_first_payment.php
- model/add_student.php
- model/add_student_ first _payment.php
All Student
- view/all_student.php
- view/student_grade_wise.php
- model/get_student.php
- model/ leave_student.php
- model/delete_student_grade_subject.php
- view/show_student_grade_subject.php
- view/ student_first_payment.php
- model/add_student_first_payment.php
- view/show_student_subject1.php
- model/add_student_subject.php
- view/student_exam_mark_subject_table.php
- view/student_exam_mark_insert_form.php
- view/student_exam_mark_subject_view_table.php
- view/student_exam_mark_view_form.php
- view/exam_mark_text.php
- model/update_student_exam_mark.php
- view/student_payment_details.php
- view/student_payment_details2.php
- view/student_payment_invoice.php
- view/student_payment_history.php
- view/student_payment_details3.php
- view/student_payment_invoice1.php
Student Payment
- view/student_payment.php
- view/student_payment_details.php
- view/student_payment_details4.php
- model/student_payment_invoice.php
- modal/add_student_payment.php
Attendance
Add Attenddance
- view/add_attendance.php
- model/add_attendance.php
- model/add_payment_notifications.php
Student Attendance History
- view/student_attendance_history.php
- view/student_attendance_history1.php
- view/show_student2.php
- view/student_profile.php
Teacher Attendance History
- view/teacher_attendance_history.php
- view/teacher_attendance_history1.php
- view/show_teacher2.php
- view/teacher_profile.php
Exam
Create Exam
- view/exam.php
- model/get_exam.php
- model/update_exam.php
- view/show_exam_table.php
- model/delete_record.php
- model/add_exam.php
Exam Timetable
- view/exam_timetable.php
- view/exam_timetable_grade_wise.php
- view/exam_timetable_insert_form.php
- view/exam_timetable_update_form.php
- model/get_exam_timetable.php
- model/delete_record.php
- model/add_exam_timetable.php
- model/update_exam_timetable.php
Student Exam Marks
- view/student_exam_marks.php
- view/show_student.php
- view/student_profile.php
- view/student_exam_mark_insert_form1.php
- view/student_exam_mark_update_form.php
- view/my_student_exam_marks1.php
- model/add_student_exam_mark1.php
- model/update_student_exam_mark2.ph
Student Exam Marks History
- view/student_exam_marks_history.php
- view/show_student1.php
- view/student_profile.php
- view/my_student_exam_marks1.php
Petty Cash
- view/petty_cash.php
- model/approve_petty_cash.php
- view/petty_cash_details.php
- model/add_petty_cash.php
Friends
Add Friends
- view/add_friends.php
- model/add_friends.php
- model/confirm_friends.php
- view/friend_profile.php
- view/find_friends.php
My Friends
- view/my_friends.php
- view/friend_profile.php
- view/conversation_history_admin.php
- model/add_message.php
- view/conversation_history_admin1.php
- model/confirm_msg_read.php
- view/unread_msg.php
Event
My Events
- view/my_events.php
- view/event1.php
- view/show_events.php
- view/create_events.php
- model/get_events.php
- model/delete_record1.php
- model/add_events.php
All Events
- view/all_events.php
- view/all_events1.php
- view/show_events1.php
- model/get_events.php
File Structure for Teacher User – Click here to expand
Dashboard
- view/dashboard2.php
- view/all_events1.php
- view/show_events1.php
My Profile
- view/teacher_profile2.php
- model/get_teacher_profile.php
- view/my_profile_update_form2.php
- model/ update_teacher_profile.php
My Student
- view/my_student.php
- view/student_grade_wise2.php
- model/get_student.php
- model/leave_student.php
- model/delete_student_grade_subject.php
- view/show_student_grade_subject.php
- view/student_first_payment.php
- model/add_student_first_payment.php
- model/get_student_subject.php
- view/show_student_subject1.php
- model/add_student_subject.php
- view/student_exam_mark_subject_table.php
- view/student_exam_mark_insert_form.php
- view/student_exam_mark_subject_view_table.php
- view/student_exam_mark_view_form.php
- view/exam_mark_text.php
- model/update_student_exam_mark.php
Subject
My Subject
- view/my_subject2.php
All Subject
- view/all_subject2.php
Timetable
My Timetable
- view/my_timetable2.php
- model/get_subject_timetable.php
- view/timetable_insert_form2.php
- view/timetable_update_form2.php
- model/get_timetable.php
- model/delete_record.php
- model/add_timetable.php
- model/update_timetable.php
All Timetable
- view/all_timetable2.php
- view/timetable_grade_wise2.php
Attendance
My Attendance
- view/my_attendance2.php
My Attendance History
- view/my_attendance_history2.php
- view/my_attendance_history3.php
My Salary
- view/my_salary.php
- view/teacher_salary_details3.php
- view/teacher_salary_invoice1.php
My Petty Cash
- view/my_petty_cash.php
- view/petty_cash_details.php
- model/add_petty_cash.php
Exam
My Student Exam Marks
- view/my_student_exam_marks.php
- view/show_my_student.php
- view/student_profile.php
- view/my_student_exam_mark_insert_form.php
- view/my_student_exam_mark_update_form.php
- view/my_student_exam_marks1.php
- model/add_student_exam_mark.php
- model/update_student_exam_mark.php
My Student Exam Marks History
- view/my_student_exam_marks_history.php
- view/student_profile.php
- view/my_student_exam_marks1.php
- view/show_my_student1.php
Exam Timetable
- view/exam_timetable2.php
- view/exam_timetable_grade_wise.php
- view/exam_timetable_insert_form2.php
- view/exam_timetable_update_form2.php
- model/get_exam_timetable.php
- model/delete_record.php
Friends
Add Friends
- view/add_friends2.php
- view/friend_profile.php
- view/find_friends.php
- model/add_friends.php
- model/confirm_friends.php
My Friends
- view/my_friends2.php
- view/friend_profile.php
- view/conversation_history_teacher.php
- model/add_message.php
- view/conversation_history_teacher1.php
- model/confirm_msg_read.php
- view/unread_msg.php
Events
My Events
- view/my_events2.php
- view/event1.php
- view/show_events.php
- view/create_events.php
- model/get_events.php
- model/delete_record1.php
- model/add_events.php
All Events
- view/all_events2.php
- view/all_events1.php
- view/show_events1.php
- model/get_events.php
File Structure for Student User – Click here to expand
Dashboard
- view/dashboard1.php
- view/all_events1.php
- view/show_events1.php
My Profile
- view/my_profile.php
- model/get_student_profile.php
- view/my_profile_update_form1.php
- model/update_student_profile.php
Teacher
My Teacher
- view/my_teacher.php
- view/teacher_profile1.php
All Teacher
- view/all_teacher1.php
- view/teacher_profile1.php
Subject
My Subject
- view/my_subject.php
All Subject
- view/all_subject1.php
Timetable
My Timetable
- view/my_timetable.php
All Timetable
- view/all_timetable1.php
Attendance
My Attendance
- view/my_attendance.php
My Attendance History
- view/my_attendance_history.php
- view/my_attendance_history1.php
My Payments
- view/my_payments.php
- view/student_payment_details3.php
- view/student_payment_invoice1.php
Exam
My Exam Marks
- view/my_exam_marks.php
- view/my_exam_marks1.php
My Exam Marks History
- view/my_exam_marks_history.php
- view/my_exam_marks1.php
My Exam Timetable
- view/my_exam_timetable.php
- view/ my_exam_timetable1.php
Friends
Add Friends
- view/add_friends1.php
- view/friend_profile.php
- view/find_friends.php
- model/add_friends.php
- model/confirm_friends.php
My Friends
- view/my_friends1.php
- view/friend_profile.php
- view/conversation_history_student.php
- model/add_message.php
- view/conversation_history_student1.php
- model/confirm_msg_read.php
- view/unread_msg.php
File Structure for Parent User – Click here to expand
Dashboard
- view/dashboard3.php
- view/all_events1.php
- view/show_events1.php
Profile
My Profile
- view/parents_profile.php
- model/get_parents_profile.php
- view/my_profile_update_form3.php
- model/update_parents_profile.php
My Son’s Profile
- view/my_sons_profile.php
Teacher
My Son’s Teacher
- view/my_sons_teacher.php
- view/teacher_profile1.php
All Teacher
- view/all_teacher3.php
- view/teacher_profile1.php
Subject
My Son’s Subject
- view/my_sons_subject.php
All Subject
- view/all_subject3.php
Timetable
My Son’s Timetable
- view/my_sons_timetable.php
All Timetable
- view/all_timetable3.php
Attendance
My Son’s Attendance
- view/my_sons_attendance.php
My Son’s Attendance History
- view/my_sons_attendance_history.php
- view/my_sons_attendance_history1.php
My Son’s Payments
- view/my_sons_payments.php
- view/student_payment_details3.php
- view/student_payment_invoice1.php
Exam
My Son’s Exam Marks
- view/my_sons_exam_marks.php
- view/my_exam_marks1.php
My Son’s Exam Marks History
- view/my_sons_exam_marks_history.php
- view/my_exam_marks1.php
My Son’s Exam Timetable
- view/my_sons_exam_timetable.php
- view/ my_exam_timetable1.php
File Structure for Different Alerts – Click here to expand
Classroom
Insert
- classroom_Duplicated
- insert_Success
- connection_Problem
Update
- update_Success
- connection_Problem
- update_error1
- classroom_Duplicated
Delete
- delete_Success
- connection_Problem
Grade
Insert
- grade_Duplicated
- insert_Success
- connection_Problem
Update
- update_Success
- connection_Problem
- update_error1
- grade_Duplicated
Delete
- delete_Success
- connection_Problem
Subject
Insert
- subject_Duplicated
- insert_Success
- connection_Problem
Update
- update_Success
- connection_Problem
- update_error1
- subject_Duplicated
Delete
- delete_Success
- connection_Problem
Subject Routing
Insert
- duplicate_Record1
- insert_Success
- connection_Problem
Update
- update_Success
- connection_Problem
- update_error1
- duplicate_Record1
Delete
- delete_Success
- connection_Problem
Teacher
Insert
- index_Duplicated
- insert_Success
- connection_Problem
- index_email_Duplicated
- email_Duplicated
- upload_error1
Update
- update_Success
- connection_Problem
- upload_error1
- update_error1
- email_Duplicated
Delete
- delete_Success
- connection_Problem
Student
Insert
- index_Duplicated
- insert_Success
- connection_Problem
- index_email_Duplicated
- email_Duplicated
- upload_error1
All Student Update
- update_Success
- connection_Problem
- upload_error1
- update_error1
- email_Duplicated
Delete
- delete_Success
- connection_Problem
Timetable
Insert
- duplicate_Record2
- insert_Success
- connection_Problem
Update
- update_Success
- connection_Problem
- update_error1
- duplicate_Record2
Delete
- delete_Success
- connection_Problem
Other Files – Click here to expand
- view/head.php
- view/header_admin.php
- view/header_student.php
- view/header_teacher.php
- view/header_parents.php
• view/all_student_due_payment.php
• view/student_due_payment.php
• view/show_friend_request.php
• view/friend_profile.php
• view/student_profile1.php
• model/confirm_friends.php
• view/unread_msg.php
• model/confirm_notifications_read.php
• model/confirm_msg_read.php
• model/delete_friend_request.php - view/sidebar.php
- view/sidebar1.php
- view/sidebar2.php
- view/footer.php
- view/alert.php
- controler/config.php
- view/login.php
Output of School Management System with PHP & MySQL
Login Page (Index)
Admin View
Teacher View
Student View
Parent View
Download source code of School Management System with PHP & MySQL project: School Management System with PHP & MySQL
School Management System Project Demo
Login Details for Demo Purpose only. Please note: Demo users, you are not able to change the details
Admin User
Username: [email protected]
Password: 12345
Parent User
Username: [email protected]
Password: 12345
Teacher User
Username: [email protected]
Password: 12345
Student User
Username: [email protected]
Password: 12345
Summary
We have successfully developed the Create School Management System with PHP & MySQL Project. We learn different features of School Management System like Student Management, Teacher Management, Attendance Management, Salary Management, Timetable Management, Exam Management and many more..
In this way we successfully made a School Management System with PHP & MySQL. I hope you enjoyed building School Management System with PHP & MySQL.
Other Useful Projects
1. Create School Management System in Python, Download Source Code
2. Create Notepad using Java, Download Source Code
3. Create Calculator Program in Python, Download Source Code
4. Create Fruit Ninja Game in Python, Download Source Code
Search Keywords
- School Management System using PHP, MySQL with Source Code
- Download School Management System for Free
- Free School Management System Project using PHP and MySQL
Can I use this project for business purpose without any copyright issue?
can i use this project for business purpose without any copyright issue?
Can I help me please for final project this is my project title
email us [email protected]
New users cannt login. when register the student not get their password