prepare("SELECT * FROM users WHERE email = ?"); $stmt->execute([$email]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password'])) { $_SESSION['user_id'] = $user['id']; $_SESSION['user_email'] = $user['email']; $_SESSION['user_role'] = $user['role']; if ($user['first_login']) { $updateStmt = $pdo->prepare("UPDATE users SET first_login = 0 WHERE id = ?"); $updateStmt->execute([$user['id']]); // Here you could redirect to a welcome page, e.g., header("Location: welcome.php"); } // Role-based redirection switch ($user['role']) { case 'ngo': header("Location: dashboard.php"); exit; case 'restaurant': header("Location: listings.php"); exit; default: // Default redirect for any other roles header("Location: dashboard.php"); exit; } } else { $errors[] = 'Invalid email or password'; } } catch (PDOException $e) { $errors[] = "Database error: " . $e->getMessage(); } } } ?>