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.
- 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)
- 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
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)
- 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
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:
- Add / Edit Student (registration) form
- Student Detail (View) page
- Students list (when "Show in list" is ticked)
- CSV export columns + CSV import template (matched by
field_name) Deleting a field removes its saved values (database cascade). Editing never changesfield_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).
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.
Total / Active / Alumni counts, Male-Female split, course count, dynamic-field count, course-wise bar chart and recently added students.
- Copy
advanced-student-management-systemintohtdocs(XAMPP) /public_html(hosting). - phpMyAdmin -> Import ->
database.sql(creates DBstudent_management_system, tables, demo users, 5 demo students and 4 sample dynamic fields). - If MySQL is not
root/ empty password, editconfig/database.php. - Open
http://localhost/advanced-student-management-system/
| Role | Password | |
|---|---|---|
| Admin | admin@example.com | Admin@123 |
| Staff | staff@example.com | Staff@123 |
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.
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.