🏫 QR Attendance System Setup

Checking system requirements...
"; echo "

📋 System Requirements Check

"; echo "
"; // 1. Check PHP version if (version_compare(PHP_VERSION, '7.4.0') >= 0) { echo "
✓ PHP 7.4+ is installed (Current: " . PHP_VERSION . ")
"; } else { echo "
✗ PHP 7.4+ is required (Current: " . PHP_VERSION . ")
"; } // 2. Check MySQLi extension if (extension_loaded('mysqli')) { echo "
✓ MySQLi extension is enabled
"; } else { echo "
✗ MySQLi extension is required
"; } // 3. Check session support if (function_exists('session_start')) { echo "
✓ Session support is enabled
"; } else { echo "
✗ Session support is required
"; } echo "
"; echo "

🗄️ Database Connection Check

"; echo "
"; // Database connection test $host = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'attendance_system'; $conn = @mysqli_connect($host, $user, $pass); if ($conn) { echo "
✓ Connected to MySQL server
"; // Check if database exists $db_selected = @mysqli_select_db($conn, $dbname); if ($db_selected) { echo "
✓ Database '$dbname' exists
"; // Check required tables $required_tables = [ 'users' => 'Users table', 'students' => 'Students table', 'activities' => 'Activities table', 'attendance' => 'Attendance table', 'courses' => 'Courses table', 'departments' => 'Departments table', 'genders' => 'Genders table', 'schools' => 'Schools table' ]; foreach ($required_tables as $table => $description) { $result = @mysqli_query($conn, "SHOW TABLES LIKE '$table'"); if ($result && mysqli_num_rows($result) > 0) { echo "
✓ $description exists
"; } else { echo "
✗ $description is missing
"; } } // Check if there are users in the database $result = @mysqli_query($conn, "SELECT COUNT(*) as count FROM users"); if ($result) { $row = mysqli_fetch_assoc($result); if ($row['count'] > 0) { echo "
✓ Users found in database
"; // Show sample users $result = @mysqli_query($conn, "SELECT username, role, full_name FROM users LIMIT 3"); if ($result && mysqli_num_rows($result) > 0) { echo "
Sample users:
"; while ($user = mysqli_fetch_assoc($result)) { echo "• {$user['username']} ({$user['role']}) - {$user['full_name']}
"; } echo "
"; } } else { echo "
⚠ No users found in database
"; } } } else { echo "
✗ Database '$dbname' does not exist
"; echo "
"; echo "Please import the SQL file first:
"; echo "mysql -u root -p attendance_system < attendance_system.sql"; echo "
"; } mysqli_close($conn); } else { echo "
✗ Cannot connect to MySQL server
"; echo "
"; echo "MySQL Error: " . mysqli_connect_error() . "
"; echo "Please check your database credentials in includes/config.php"; echo "
"; } echo "
"; echo "

📁 Directory Structure Check

"; echo "
"; // Check directory structure $required_dirs = [ 'includes' => 'Configuration files', 'assets/css' => 'CSS stylesheets', 'assets/js' => 'JavaScript files', 'admin' => 'Admin pages', 'teacher' => 'Teacher pages', 'student' => 'Student pages', 'auth' => 'Authentication pages', 'api' => 'API endpoints', 'qr/generated' => 'QR code storage' ]; foreach ($required_dirs as $dir => $description) { if (is_dir($dir)) { echo "
✓ Directory '$dir' exists
"; // Check if directory is writable (for qr/generated) if (in_array($dir, ['qr/generated'])) { if (is_writable($dir)) { echo "
✓ Directory '$dir' is writable
"; } else { echo "
⚠ Directory '$dir' is not writable
"; } } } else { echo "
✗ Directory '$dir' is missing
"; } } echo "
"; echo "

📄 Required Files Check

"; echo "
"; // Check required files $required_files = [ 'includes/config.php' => 'Configuration file', 'auth/login.php' => 'Login page', 'admin/dashboard.php' => 'Admin dashboard', 'admin/attendance.php' => 'QR scanner page', 'api/scan_qr.php' => 'QR scanning API', 'index.php' => 'Main entry point' ]; foreach ($required_files as $file => $description) { if (file_exists($file)) { $size = filesize($file); echo "
✓ $description exists (" . round($size/1024, 2) . " KB)
"; } else { echo "
✗ $description is missing
"; } } echo "
"; echo "

🚀 Quick Actions

"; echo "
"; echo ""; echo ""; echo ""; echo "
"; echo "
"; echo "
Setup Instructions:
"; echo "
    "; echo "
  1. Import the SQL file to your database
  2. "; echo "
  3. Update database credentials in includes/config.php
  4. "; echo "
  5. Make sure qr/generated/ directory is writable
  6. "; echo "
  7. Access the system via: http://localhost/attendance_system/
  8. "; echo "
  9. Login with default credentials: johnlloyd12 / password
  10. "; echo "
"; echo "
"; echo "
"; echo "
Security Notes:
"; echo ""; echo "
"; echo "
"; echo "QR Attendance System v1.0 | " . date('Y-m-d H:i:s') . ""; echo "
"; echo "
"; ?>