par
jaolan » 15 févr. 2006, 22:59
header("Content-type: image/jpeg");
Ton probleme vient d'ici.
En fait tu renvois une image jpeg au navigateur,
le reste de ton code html n'est donc pas pris en compte.
Pour faire ce que tu veux, il te faut donc contourner le probleme, voici une piste:
t'as la page de ton formulaire avec une image qui sera l'image que tu veux obtenir au final:
<img src='image_par_defaut.jpg' id='im1'>
apres validation des choix de l'utilisateur tu utilises un truc du genre:
<script>
var get = 'arguments_pour_creation_image';
document.getElementById('im1').src = 'modif_image.php?'+get;
</script>
avec le script qui contiendra ton code pour fabriquer image, genre:
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg($nom_image);
$blanc = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 150, 150,$texte, $blanc);
imagejpeg($image);
Tu peux faire autrement, l'important est de comprendre l'idee:
Si tu forces le type mime en jpeg, le navigateur l'interprete comme une image, ce qui ne pose aucun probleme si tu ne veux afficher que l'image, mais alors pas possible d'y mettre des balises.
Par contre dans une page qui contient une image, rien n'empeche que l'url indiquee soit un script.
Or comme ton script renverra un type mime image/jpeg, le navigateur n'y verra aucune objection.
Certains pirates en herbe connaissent bien la methode, meme si elle est utilisee a d'autres fins.
Bon courage.