A secure, responsive student management system with a modern UI, designed to work seamlessly with XAMPP.
- One-Click XAMPP Setup
- Mobile-First Responsive Design
- Real-Time Form Validation
- CSRF Protected Forms
- Interactive Student Dashboard
Download and install the latest version:
https://www.apachefriends.org/download.html
# Clone repository or download as Zip
git clone https://github.com/AvatarParzival/student-registration-system
# Move to XAMPP's htdocs:
# Windows:
move student-registration-system C:\xampp\htdocs\
# macOS/Linux:
mv student-registration-system /opt/lampp/htdocs/Launch XAMPP Control Panel and start:
- Apache
- MySQL
- Open phpMyAdmin: http://localhost/phpmyadmin
- Run:
CREATE DATABASE internship_db;- Import
database.sqlfrom the project folder.
- Open http://localhost/phpmyadmin
- Click "New" in the left sidebar.
- Enter
internship_dbas the Database Name. - Click Create.
- Select the newly created database from the left panel.
- Go to the Import tab.
- Choose the
database.sqlfile from your project folder. - Click Go to import.
Edit db.php:
<?php
$server = 'localhost';
$user = 'root'; // Default XAMPP username
$pass = ''; // Default XAMPP password
$db = 'internship_db';Access in browser:
http://localhost/student-registration-system/index.html
| Registration Form | Student Dashboard |
|---|---|
![]() |
![]() |
| Component | Technology Stack |
|---|---|
| Frontend | Tailwind CSS, Vanilla JS |
| Backend | PHP 8+ |
| Database | MySQL |
| Security | CSRF Tokens, Prepared Statements |
| Issue | Solution |
|---|---|
| Connection errors | Verify MySQL is running in XAMPP |
| Page not loading | Check files are in htdocs folder |
| Form submission fails | Ensure Apache is running |
| Database issues | Re-import database.sql |
student-registration/
├── api/
│ └── toggle.php
├── app.js
├── csrf.php
├── database.sql
├── db.php
├── delete_student.php
├── index.html
├── register.php
├── style.css
└── view_student.php
Double-Layer Protection:
// CSRF Example
if (!isset($_SESSION['csrf']) || $_POST['csrf'] !== $_SESSION['csrf']) {
die("Security violation detected");
}SQL Injection Prevention:
$stmt = $conn->prepare("INSERT INTO students VALUES(?,?,?,?)");
$stmt->bind_param("ssss", $name, $email, $roll, $dept);- Enable Debug Mode (in
db.php):
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);- Create Database Backup:
mysqldump -u root -p internship_db > backup.sql- Use Virtual Host for cleaner URLs:
127.0.0.1 studentapp.local
- Fork the repository
- Create a new branch:
git checkout -b feature- Commit changes:
git commit -m 'Add feature'- Push to branch:
git push origin feature- Open a Pull Request

