Problème fonctions GD

Résolu
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005 - 2 sept. 2005 à 21:21
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005 - 3 sept. 2005 à 14:37
Bonsoir, alors je débute en fonctions GD pour faire des figures
mathématiques simples enfin bref, je test déja une partie de code en
locale avec easy PHP histoire de voir si mon cadre image et ma première
ligne est tracée et voici les erreurs qu'il me met :



Warning: Cannot modify header information - headers already sent
by (output started at c:\program
files\easyphp1-8\www\essai\pythagore\pythagore.php:7) in c:\program files\easyphp1-8\www\essai\pythagore\pythagore.php on line 24





Fatal error: Call to undefined function: imagecreate() in c:\program files\easyphp1-8\www\essai\pythagore\pythagore.php on line 25



Voila ma partie de code pour l'affichage du dessin en question :



/* AFFICHAGE DESSIN */

$b=(($_POST['b']));

$c=(($_POST['c']));

$b2=($b*10+10);

$c2=($c*10+10);

$azerty=(($b2-$c)/2);

$x1=$azerty;

$y1=($c2-10);

$x2=($azerty+$c);

$y2=($c2-10);



header ("Content-type: image/jpeg");

$im = imagecreate($b2, $c2)

or
die ("Erreur lors de la création de
l'image");

$couleur_fond = imagecolorallocate($im, 255, 255, 255);

imagejpeg($im);

$black = imagecolorallocate($im, 0, 0, 0);

imageline($im, $x1, $y1, $x2, $y2, $black);

/* FIN AFFICHAGE DESSIN */



Merci par avance de vos lumières sur d'éventuelles erreurs....

Cordialement Pierre.

18 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 10:38
Salut,



erreur maintes fois résolue (t'as cherché un peu) ? chaque semaine cette erreur revient...



En haut de ta page tu mets :



ob_start();



et tout en bas



ob_end_flush();

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 10:59
Mets ça en haut de la page qui inclue toutes les autres, pas en haut du
fichier inclus, idem pour le bas, en bas de la page qui inclue les
autres.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 11:53
Faut pas qu'il y ait de saut de ligne ou d'envoi de html avant
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 12:08
remplace la fonction imagecreate() par la fonction imagecreatetruecolor()

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 12:22
bon faut activer la librairie gd 2

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 12:44
t'as easyphp ? ton code tu l'exécutes chez ton hébergeur ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 13:06
bon ok bah ton erreur vient toujours du code html envoyé avant, d'un
espace avant une balise <?php ou de quelque chose comme ça...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
3 sept. 2005 à 13:27
"Voila le code entier de la page :(



<html>

<head>

<title>Document sans titre</title>

</head>





<?php"



et qu'est-ce que je dis depuis tout à l'heure... Pas de html avant le code php... c'est pourtant clair...



<?php

ob_start();



echo ' <html>


<head>


<title>Document sans titre</title>


</head>





';

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 10:52
Toujours le même problème :



Warning: Cannot modify header information - headers already sent
by (output started at c:\program
files\easyphp1-8\www\essai\pythagore\pythagore.php:7) in c:\program files\easyphp1-8\www\essai\pythagore\pythagore.php on line 31





Fatal error: Call to undefined function: imagecreate() in c:\program files\easyphp1-8\www\essai\pythagore\pythagore.php on line 32
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 11:47
J'ai mis ca juste après la première balise php, et juste avant la
dernière balise balise php, c'est ca où il faut le mettre hors des
balises php ?
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 12:06
Voila mon code :



<?php





/*AFFICHAGE DESSIN*/

ob_start();

/*FIN AFFICHAGE DESSIN */





if(!trim(($_POST['a'])))

{

$x=((($_POST['b'])*($_POST['b']))-(($_POST['c'])*($_POST['c'])));

$g=(sqrt($x));

echo("La mesure de a est égale à ".$g." cm");

/*AFFICHAGE DESSIN*/

$b=(($_POST['b']));

$c=(($_POST['c']));

$b2=($b*10+10);

$c2=($c*10+10);

$azerty=(($b2-$c)/2);

$x1=$azerty;

$y1=($c2-10);

$x2=($azerty+$c);

$y2=($c2-10);



header ("Content-type: image/jpeg");

$im = imagecreate($b2, $c2)

or
die ("Erreur lors de la création de
l'image");

$couleur_fond = imagecolorallocate($im, 255, 255, 255);

imagejpeg($im);

$black = imagecolorallocate($im, 0, 0, 0);

imageline($im, $x1, $y1, $x2, $y2, $black);

/*FIN AFFICHAGE DESSIN */

}

if(!trim(($_POST['b'])))

{

$k=((($_POST['a'])*($_POST['a']))-(($_POST['c'])*($_POST['c'])));

$j=(sqrt($k));

echo("La mesure de b est égale à ".$j." cm");

}

if(!trim(($_POST['c'])))

{

$u=((($_POST['b'])*($_POST['b']))-(($_POST['a'])*($_POST['a'])));

$p=(sqrt($u));

echo("La mesure de c est égale à ".$p." cm");

}



/*AFFICHAGE DESSIN*/

ob_end_flush();

/*FIN AFFICHAGE DESSIN */



?>
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 12:13
=>



Warning: Cannot modify header information - headers already sent
by (output started at c:\program
files\easyphp1-8\www\essai\pythagore\pythagore.php:7) in c:\program files\easyphp1-8\www\essai\pythagore\pythagore.php on line 31





Fatal error: Call to undefined function: imagecreatetruecolor() in c:\program files\easyphp1-8\www\essai\pythagore\pythagore.php on line 32





:'(
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 12:41
Si cela te dérange pas de m'expliquer, comment fait-on ?
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 12:51
Jusqu'alors je le testai uniquement par le biais d'easyphp, après avoir testé par le biais de mon hébergeur, cela donne ca :




La mesure de a est égale à 9.79795897113 cm


Warning: Cannot modify header information - headers already sent
by (output started at
/home/.filer4/puisea/www/pythagore/pythagore2.php:7) in /home/.filer4/puisea/www/pythagore/pythagore2.php on line 31


ÿØÿà



avec une série incroyable de caractères spéciaux.
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 13:19
Voila le code entier de la page :(



<html>

<head>

<title>Document sans titre</title>

</head>





<?php

if(!trim(($_POST['a'])))

{

$x=((($_POST['b'])*($_POST['b']))-(($_POST['c'])*($_POST['c'])));

$g=(sqrt($x));

echo("La mesure de a est égale à ".$g." cm");

}

if(!trim(($_POST['b'])))

{

$k=((($_POST['a'])*($_POST['a']))-(($_POST['c'])*($_POST['c'])));

$j=(sqrt($k));

echo("La mesure de b est égale à ".$j." cm");

}

if(!trim(($_POST['c'])))

{

$u=((($_POST['b'])*($_POST['b']))-(($_POST['a'])*($_POST['a'])));

$p=(sqrt($u));

echo("La mesure de c est égale à ".$p." cm");

}

?>



</html>
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 13:19
oups me suis trompé désolé, voila le code :



<html>

<head>

<title>Document sans titre</title>

</head>





<?php





/*AFFICHAGE DESSIN*/

ob_start();

/*FIN AFFICHAGE DESSIN */





if(!trim(($_POST['a'])))

{

$x=((($_POST['b'])*($_POST['b']))-(($_POST['c'])*($_POST['c'])));

$g=(sqrt($x));

echo("La mesure de a est égale à ".$g." cm");

/*AFFICHAGE DESSIN*/

$b=(($_POST['b']));

$c=(($_POST['c']));

$b2=($b*10+10);

$c2=($c*10+10);

$azerty=(($b2-$c)/2);

$x1=$azerty;

$y1=($c2-10);

$x2=($azerty+$c);

$y2=($c2-10);



header ("Content-type: image/jpeg");

$im = imagecreatetruecolor($b2, $c2)

or
die ("Erreur lors de la création de
l'image");

$couleur_fond = imagecolorallocate($im, 255, 255, 255);

imagejpeg($im);

$black = imagecolorallocate($im, 0, 0, 0);

imageline($im, $x1, $y1, $x2, $y2, $black);

/*FIN AFFICHAGE DESSIN */

}

if(!trim(($_POST['b'])))

{

$k=((($_POST['a'])*($_POST['a']))-(($_POST['c'])*($_POST['c'])));

$j=(sqrt($k));

echo("La mesure de b est égale à ".$j." cm");

}

if(!trim(($_POST['c'])))

{

$u=((($_POST['b'])*($_POST['b']))-(($_POST['a'])*($_POST['a'])));

$p=(sqrt($u));

echo("La mesure de c est égale à ".$p." cm");

}



/*AFFICHAGE DESSIN*/

ob_end_flush();

/*FIN AFFICHAGE DESSIN */



?>



</html>
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 14:35
Et bien désolé de ne pas avoir ton talent en PHP, mais je ne comprends pas forcément tout tes termes techniques...



En tout cas merci, il n'y a plus de message d'erreurs par contre :

L'image « http://puisea.jexiste.fr/pythagore/pythagore2.php » ne peut être affichée, car elle contient des erreurs.



As-tu une idée sur le problème ?

Encore merci, et merci d'avance pour cette nouvelle question.



PS : bien entendu si tu ne peux pas répondre à ce nouveau problème, je validerai toutes réponses précédentes.
0
puisea Messages postés 35 Date d'inscription samedi 27 août 2005 Statut Membre Dernière intervention 3 septembre 2005
3 sept. 2005 à 14:37
Mon code source de ma page actuelle :



<?php





/*AFFICHAGE DESSIN*/

ob_start();

/*FIN AFFICHAGE DESSIN */





if(!trim(($_POST['a'])))

{

$x=((($_POST['b'])*($_POST['b']))-(($_POST['c'])*($_POST['c'])));

$g=(sqrt($x));

echo("La mesure de a est égale à ".$g." cm");

/*AFFICHAGE DESSIN*/

$b=(($_POST['b']));

$c=(($_POST['c']));

$b2=($b*10+10);

$c2=($c*10+10);

$azerty=(($b2-$c)/2);

$x1=$azerty;

$y1=($c2-10);

$x2=($azerty+$c);

$y2=($c2-10);



header ("Content-type: image/jpeg");

$im = imagecreatetruecolor($b2, $c2)

or
die ("Erreur lors de la création de
l'image");

$couleur_fond = imagecolorallocate($im, 255, 255, 255);

imagejpeg($im);

$black = imagecolorallocate($im, 0, 0, 0);

imageline($im, $x1, $y1, $x2, $y2, $black);

/*FIN AFFICHAGE DESSIN */

}

if(!trim(($_POST['b'])))

{

$k=((($_POST['a'])*($_POST['a']))-(($_POST['c'])*($_POST['c'])));

$j=(sqrt($k));

echo("La mesure de b est égale à ".$j." cm");

}

if(!trim(($_POST['c'])))

{

$u=((($_POST['b'])*($_POST['b']))-(($_POST['a'])*($_POST['a'])));

$p=(sqrt($u));

echo("La mesure de c est égale à ".$p." cm");

}



/*AFFICHAGE DESSIN*/

ob_end_flush();

/*FIN AFFICHAGE DESSIN */



?>
0
Rejoignez-nous