Skip to content

About

Advanced Student Management System in Core PHP & MySQL - secure login, student CRUD with photos, CSV import/export, advanced filters and a dynamic custom-fields module. By Coding Cush.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Advanced Student Management System

Core PHP + MySQL - No Framework - Beautiful Modern UI

A complete student management system with secure login, dynamic form fields, CSV import/export, advanced filters and a beautiful student detail page.

Features

Secure Login & Registration

  • Admin / Staff roles, password_hash() + password_verify(), CSRF token on every form, session regeneration on login, PDO prepared statements (no SQL injection), XSS-safe output
  • Public registration creates Staff only; Admin is seeded (security best practice)

Student Management

  • Add / Edit / View / Delete (delete = Admin only), photo upload (JPG/PNG/WEBP, max 2MB, upload folder protected)
  • Auto-generated Admission No (STU20260001 style) when left blank, duplicate email/admission checks

Advanced Filters (Students page)

Keyword search (name, email, admission no, phone, city) + Course, Section, Gender, Status, Admission date From / To, sorting (newest, oldest, name, course) and pagination (10/25/50)

CSV Import / Export

  • Export any filtered list - the export respects exactly the filters you applied; includes dynamic-field columns
  • Import with header-row mapping, required-column checks, duplicate skip, and a clear report (Inserted count, Skipped count, and the reason for every skipped row)
  • Download CSV Template button (core columns + your active dynamic fields) and a ready Sample CSV

Dynamic Fields Module (Admin only) - the star feature

Admin -> Dynamic Fields -> add a field (label, type, options, placeholder, required, show-in-list, display order, active/inactive). Supported types: Text, Number, Email, Date, Select, Textarea, Radio, Checkbox. The field then automatically appears everywhere:

  1. Add / Edit Student (registration) form
  2. Student Detail (View) page
  3. Students list (when "Show in list" is ticked)
  4. CSV export columns + CSV import template (matched by field_name) Deleting a field removes its saved values (database cascade). Editing never changes field_name, so existing data and CSV columns stay stable. Seeded examples: Blood Group (select, shown in list), Transport Required (radio), Previous School (text), Scholarship % (number).

Beautiful Student Detail Page

Gradient profile hero with photo/avatar, status & age badges, grouped sections (Personal / Academic / Guardian & Address / Dynamic fields), record timestamps, Print button with print-friendly CSS. Open it with the View button on any student row.

Dashboard

Total / Active / Alumni counts, Male-Female split, course count, dynamic-field count, course-wise bar chart and recently added students.

Setup (2 minutes)

  1. Copy advanced-student-management-system into htdocs (XAMPP) / public_html (hosting).
  2. phpMyAdmin -> Import -> database.sql (creates DB student_management_system, tables, demo users, 5 demo students and 4 sample dynamic fields).
  3. If MySQL is not root / empty password, edit config/database.php.
  4. Open http://localhost/advanced-student-management-system/

Demo Accounts

Role Email Password
Admin admin@example.com Admin@123
Staff staff@example.com Staff@123

CSV Format

Headers: admission_no, first_name, last_name, email, phone, gender, dob, course, section, roll_no, admission_date, guardian_name, guardian_phone, address, city, state, pincode, status followed by one column per dynamic field, named by its field_name. Valid courses are listed in config/app.php (COURSES) - edit that list to match your school/college. Dates use YYYY-MM-DD. Gender: Male / Female / Other. Status: active / inactive / alumni.

Project Structure

config/database.php, config/app.php     DB connection + course/section lists
database.sql                            DB + demo data + sample dynamic fields
includes/functions.php                  Session, CSRF, auth guards, dynamic-field engine, photo upload
includes/student-filters.php            Shared advanced-filter builder (list + export)
includes/student-save.php               Student validation + insert/update
includes/student-form.php               Shared add/edit form (renders dynamic fields)
index.php                               Landing page
login.php / register.php / logout.php
dashboard.php                           Stats + course chart + recent students
students.php                            List + advanced filters + pagination
student-add.php / student-edit.php / student-view.php / student-delete.php
import.php / export.php / download-template.php / sample-students.csv
admin/fields.php                        Dynamic Fields module (Admin)
admin/users.php                         System users (Admin)
profile.php / change-password.php
uploads/students/                       Student photos (PHP execution blocked by .htaccess)
assets/css/style.css, assets/js/app.js

Built with Core PHP & MySQL - ideal for school/college use and final-year projects.

About

Advanced Student Management System in Core PHP & MySQL - secure login, student CRUD with photos, CSV import/export, advanced filters and a dynamic custom-fields module. By Coding Cush.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors