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);
?>