School Management System Project With Source Code In Php Apr 2026

1. Introduction A School Management System automates daily administrative tasks like student registration, attendance tracking, grade management, fee collection, and teacher assignment.

// Fetch student details $student = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM students WHERE id=$student_id")); school management system project with source code in php

if (mysqli_num_rows($result) == 1) { $user = mysqli_fetch_assoc($result); if (password_verify($password, $user['password'])) { $_SESSION['user_id'] = $user['id']; $_SESSION['role'] = $user['role']; $_SESSION['related_id'] = $user['related_id']; switch ($user['role']) { case 'admin': header("Location: admin/dashboard.php"); break; case 'teacher': header("Location: teacher/dashboard.php"); break; case 'student': header("Location: student/dashboard.php"); break; } } else { $error = "Invalid password"; } } else { $error = "User not found"; } } ?> <!-- HTML Form --> <form method="POST"> <input type="text" name="username" required> <input type="password" name="password" required> <button type="submit">Login</button> <?php if(isset($error)) echo "<p>$error</p>"; ?> </form> <?php require_once '../config/db_connection.php'; require_once '../includes/auth.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $roll_no = $_POST['roll_no']; $class_id = $_POST['class_id']; $section = $_POST['section']; $parent_mobile = $_POST['parent_mobile']; $address = $_POST['address']; $dob = $_POST['dob']; $admission_date = $_POST['admission_date']; mysqli_connect_error()); }

if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } ?> <?php session_start(); if (!isset($_SESSION['user_id'])) { header("Location: ../login.php"); exit(); } ?> 5.3 Login Script ( login.php ) <?php session_start(); require_once 'config/db_connection.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $username = mysqli_real_escape_string($conn, $_POST['username']); $password = $_POST['password']; $password = $_POST['password']

// Get classes taught by this teacher $classes_taught = mysqli_query($conn, "SELECT DISTINCT class_id FROM subjects WHERE teacher_id=$teacher_id"); $students = []; if ($class_id) { $students = mysqli_query($conn, "SELECT * FROM students WHERE class_id=$class_id"); } ?> <form method="POST"> <select name="class_id" onchange="this.form.submit()"> <option value="">Select Class</option> <?php while($row = mysqli_fetch_assoc($classes_taught)): ?> <option value="<?= $row['class_id'] ?>" <?= $class_id == $row['class_id'] ? 'selected' : '' ?>> Class <?= $row['class_id'] ?> </option> <?php endwhile; ?> </select>

$query = "INSERT INTO students (first_name, last_name, roll_no, class_id, section, parent_mobile, address, dob, admission_date) VALUES ('$first_name', '$last_name', '$roll_no', $class_id, '$section', '$parent_mobile', '$address', '$dob', '$admission_date')";