prepare("UPDATE utilisateurs SET profile_picture = NULL WHERE id = ?"); $stmt->execute([$userId]); $_SESSION['user']['profile_picture'] = null; header('Location: profile.php'); exit; } // update (bio + optional file) $bio = trim($_POST['bio'] ?? ''); $profilePath = $_SESSION['user']['profile_picture'] ?? null; if (!empty($_FILES['profile_picture']['name'])) { $fname = time() . '_' . preg_replace('/[^A-Za-z0-9_.-]/', '', basename($_FILES['profile_picture']['name'])); $target = $uploadDir . $fname; if (in_array(strtolower(pathinfo($fname, PATHINFO_EXTENSION)), ['jpg','jpeg','png']) && move_uploaded_file($_FILES['profile_picture']['tmp_name'], $target)) { $profilePath = 'uploads/profiles/' . $fname; } else { $message = "❌ Problème lors de l'upload (format jpg/png uniquement)."; } } // update DB $stmt = $pdo->prepare("UPDATE utilisateurs SET bio = ?, profile_picture = ? WHERE id = ?"); $stmt->execute([$bio, $profilePath, $userId]); // sync session $_SESSION['user']['bio'] = $bio; $_SESSION['user']['profile_picture'] = $profilePath; header('Location: profile.php'); exit; } // fetch fresh data $stmt = $pdo->prepare("SELECT username, bio, profile_picture FROM utilisateurs WHERE id = ?"); $stmt->execute([$userId]); $user = $stmt->fetch(PDO::FETCH_ASSOC); ?>