prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$userId]); $user = $stmt->fetch(); // Handle profile update if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = trim($_POST['name']); $email = trim($_POST['email']); $password = $_POST['password']; // Basic validation if (!empty($name) && !empty($email)) { $sql = "UPDATE users SET name = ?, email = ? WHERE id = ?"; $params = [$name, $email, $userId]; if (!empty($password)) { $hashedPassword = password_hash($password, PASSWORD_DEFAULT); $sql = "UPDATE users SET name = ?, email = ?, password = ? WHERE id = ?"; $params = [$name, $email, $hashedPassword, $userId]; } $updateStmt = $pdo->prepare($sql); if ($updateStmt->execute($params)) { // Refresh user data header("Location: profile.php?success=1"); exit; } else { $error = "Failed to update profile. Please try again."; } } else { $error = "Name and Email are required."; } } // Refetch user data after potential update $stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$userId]); $user = $stmt->fetch(); ?>