prepare("SELECT * FROM users WHERE user_id = ?"); $stmt->execute([$user_id]); $user = $stmt->fetch(); if (!$user) { header("Location: /unimarket/admin/users/manage.php"); exit(); } $error_message = ''; $success_message = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = trim($_POST['username']); $email = trim($_POST['email']); $role = $_POST['role']; // Validate inputs if (empty($username) || empty($email)) { $error_message = 'Please fill in all required fields.'; } else { try { // Check if username or email already exists (excluding current user) $stmt = $pdo->prepare(" SELECT COUNT(*) FROM users WHERE (username = ? OR email = ?) AND user_id != ? "); $stmt->execute([$username, $email, $user_id]); if ($stmt->fetchColumn() > 0) { $error_message = 'Username or email already exists.'; } else { // Update user $stmt = $pdo->prepare(" UPDATE users SET username = ?, email = ?, role = ? WHERE user_id = ? "); $stmt->execute([$username, $email, $role, $user_id]); if ($stmt->rowCount() > 0) { $success_message = 'User updated successfully!'; // Refresh user data $stmt = $pdo->prepare("SELECT * FROM users WHERE user_id = ?"); $stmt->execute([$user_id]); $user = $stmt->fetch(); } else { $error_message = 'No changes were made.'; } } } catch (PDOException $e) { $error_message = 'Failed to update user. Please try again.'; } } } ?>