School Management System Project With Source Code In Php !free!
-- 8. Fees table CREATE TABLE fees ( id INT(11) AUTO_INCREMENT PRIMARY KEY, student_id INT(11), amount DECIMAL(10,2), payment_date DATE, status ENUM('Paid', 'Pending'), FOREIGN KEY (student_id) REFERENCES students(id) );
if (!$conn) die("Connection failed: " . mysqli_connect_error()); school management system project with source code in php
-- 4. Students table CREATE TABLE students ( id INT(11) AUTO_INCREMENT PRIMARY KEY, student_name VARCHAR(100) NOT NULL, roll_no VARCHAR(20) NOT NULL, class_id INT(11), parent_mobile VARCHAR(15), address TEXT, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (class_id) REFERENCES classes(id) ON DELETE SET NULL ); Students table CREATE TABLE students ( id INT(11)
if ($role == 'admin') $query = "SELECT * FROM admins WHERE username='$username' AND password='$password'"; $result = mysqli_query($conn, $query); if (mysqli_num_rows($result) == 1) $_SESSION['admin'] = $username; header('Location: admin/dashboard.php'); elseif ($role == 'teacher') $query = "SELECT * FROM teachers WHERE email='$username' AND password='$password'"; $result = mysqli_query($conn, $query); if (mysqli_num_rows($result) == 1) $row = mysqli_fetch_assoc($result); $_SESSION['teacher_id'] = $row['id']; header('Location: teacher/dashboard.php'); elseif ($role == 'student') $query = "SELECT * FROM students WHERE roll_no='$username' AND password='$password'"; $result = mysqli_query($conn, $query); if (mysqli_num_rows($result) == 1) $row = mysqli_fetch_assoc($result); $_SESSION['student_id'] = $row['id']; header('Location: student/dashboard.php'); Database Connection ( config/db_connection
-- 2. Classes table CREATE TABLE classes ( id INT(11) AUTO_INCREMENT PRIMARY KEY, class_name VARCHAR(50) NOT NULL, section VARCHAR(10) NOT NULL );
-- Insert default admin INSERT INTO admins (username, password, email) VALUES ('admin', MD5('admin123'), 'admin@school.com'); In production, use password_hash() instead of MD5. Project Directory Structure school-management-system/ │ ├── assets/ │ ├── css/ │ │ └── style.css │ ├── js/ │ │ └── custom.js │ └── images/ │ ├── config/ │ └── db_connection.php │ ├── includes/ │ ├── header.php │ ├── footer.php │ ├── navbar.php │ └── session_check.php │ ├── admin/ │ ├── dashboard.php │ ├── manage_classes.php │ ├── add_student.php │ ├── view_students.php │ └── fee_report.php │ ├── teacher/ │ ├── dashboard.php │ ├── take_attendance.php │ ├── add_marks.php │ └── view_students.php │ ├── student/ │ ├── dashboard.php │ ├── view_attendance.php │ └── view_results.php │ ├── login.php ├── logout.php └── index.php Step-by-Step Source Code Implementation 1. Database Connection ( config/db_connection.php ) <?php $host = 'localhost'; $user = 'root'; $password = ''; $database = 'school_management'; $conn = mysqli_connect($host, $user, $password, $database);