as tu regardé le contenu de ce qui est affiché ?
lorsque tu met directement l'url pour afficher une image dans ton navigateur tu pourra la télécharger et l'ouvrir avec notepad++ histoire de voir, si par hasard il n'y aurait pas quelque chose qui te sauterais aux yeux
il y a quoi dans ces fichiers ?
<?php
include('body/header.php');
include('body/menu.php');
genre l'affichage du début de la page html .si c'est bien le cas effectivement ton image est foireuse
en plus tu peux virer le tag de fermeture afin d'éviter un éventuel caractère invisible qui viendrait s'ajouter à l'image
pour info j'ai testé ton code (sans les inclusions que je n'ai pas) et il fonctionne parfaitement.
<?php
//si nous avons une image
if (!empty($_GET['id_img'])) {
//connexion à la base de données
try {
$bdd = new PDO('mysql:host=localhost;dbname=test', 'test', 'test');
//on sécurise notre donnée
$idImg = intval($_GET['id_img']);
//la requète qui récupère l'image à partir de l'identifiant
$req = $bdd->prepare('SELECT * FROM images WHERE id_victime = ?');
$req->execute(array($idImg));
if ($req->rowCount() < 1)
echo 'L\'image n\'existe pas !';
else {
//on stocke les données dans un tableau
$donnees = $req->fetch();
//on indique qu'on affiche une image
header("Content-type: " . $donnees['extension']);
//on affiche l'image en elle même
echo $donnees['img'];
}
$req->closeCursor();
} catch (Exception $e) {
exit('Erreur : ' . $e->getMessage());
}
} else {
echo 'Vous n avez pas sélectionné d image !';
}
@+