rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Message D'erreur PHP!!!

willybaby, le lundi 11 février 2008 à 11:31:56
Bonjour,

J'essai de créer un graphiphe en baton en php, j'ai copié texto un cours de BTS, j'ai fait le plus simple possible, je souhaite simplement afficher le nombre de visiteurs d'un site par mois...
Voila mon code :

<html>
<head>
<title></title>
</head>
<body>
<?php
$visites=array(138,254,381,652,896,720,140,556,663,331,407,768);
header("Content-type: image/png");
$largeurImage=400;
$hauteurImage=300;
$im=ImageCreate($largeurImage,$hauteurImage)or die("Erreur lors de la création de l'image");
$blanc=ImageColorAllocate($im,255,255,255);
$noir=ImageColorAllocate($im,0,0,0);
$bleu=ImageColorAllocate($im,0,0,255);
ImageLine($im, 10,$hauteurImage-10, $largeurImage-10, $hauteurImage-10, $noir);
for ($mois=1;$mois<=12;$mois++)
{
ImageString($im,0,$mois*30,$hauteurImage-10,$mois,$noir);
}
ImageLine($im,10,10,10, $hauteurImage-10, $noir);
$visitesMax=1000;
for($mois=1;$mois<=12;$mois++)
{
$hauteurImageRectangle=round(($visites[$mois-1]*$hauteurImage)/$visitesMax);
ImageFilledRectangle($im,$mois*30-7, $hauteurImage-$hauteurImageRectangle, $mois*30+7, $hauteurImage-10, $bleu);
ImageString($im,0,$mois*30-7,$hauteurImage-$hauteurImageRectangle-10,$visites[$mois-1],$noir);
}
ImagePng($im);
?>
</body>
</html>


Et voila le message d'erreur:

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Stats\graph1.php:6) in C:\wamp\www\Stats\graph1.php on line 8

Fatal error: Call to undefined function ImageCreate() in C:\wamp\www\Stats\graph1.php on line 11

Et la franchement je vois plus....
Merci de m'apporter vos lumières...
Configuration: Windows XP
Firefox 2.0.0.12
Répondre à willybaby  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
croy, le lundi 11 février 2008 à 11:45:12
Bonjour,

Tu as deux erreurs, commençons par la plus simple qiu est la seconde : les fonctions que tu veux appeler ne sont pas ImageCreate, ImageString... mais imagecreate, imagestring...

Une simple consultation de la doc php t'aurais permis de trouver cela

Pour la première erreur : les balises html depuis <html> jusque <body> doivent être déplacées parès l'appel de la fonction header.

Cherche par essais successifs la solution à ton pb.

Bon courage

PS : dans ce cas, j'aurais tendance à n'utiliser que de simples balises html (+ des styles par CSS) pour afficher ce que tu veux afficher.
Répondre à croy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
willybaby, le lundi 11 février 2008 à 11:57:13
Merci de m'éclaircir mais j'ai toujours un soucis, j'ai reussi à éviter le message d'erreur:
<?php
header("Content-type: image/png");
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
$visites=array(138,254,381,652,896,720,140,556,663,331,407,768);
$largeurImage=400;
$hauteurImage=300;
$im=imagecreate($largeurImage,$hauteurImage) or die("Erreur lors de la création de l'image");
$blanc=imagecolorallocate($im,255,255,255);
$noir=imagecolorallocate($im,0,0,0);
$bleu=imagecolorallocate($im,0,0,255);
imageline($im,10,$hauteurImage-10,$largeurImage-10,$hauteurImage-10,$noir);
for ($mois=1;$mois<=12;$mois++)
{
imagestring($im,0,$mois*30,$hauteurImage-10,$mois,$noir);
}
imageline($im,10,10,10,$hauteurImage-10,$noir);
$visitesMax=1000;
for($mois=1;$mois<=12;$mois++)
{
$hauteurImageRectangle=round(($visites[$mois-1]*$hauteurImage)/$visitesMax);
imagefilledrectangle($im,$mois*30-7,$hauteurImage-$hauteurImageRectangle,$mois*30+7,$hauteurImage-10,$bleu);
imagestring($im,0,$mois*30-7,$hauteurImage-$hauteurImageRectangle-10,$visites[$mois-1],$noir);
}
imagepng($im);
?>
</body>
</html>


mais il m'affiche :

L'image “http://localhost/Stats/graph1.php” ne peut être affichée car elle contient des erreurs.

Ai je un problème mental?
Répondre à willybaby

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 croy, le lundi 11 février 2008 à 12:43:51
Problème mental ? non mais sans doute pas assez d'attention ni de méthode.

Ton script ci-dessus contient une erreur : examine bien le dernier argument de image string

Deplus imagepng ne s'utilise pas comme ça. Tu dois avoir deux scripts php :

1. temp.php avec une balise img qui appelle le second script

<html><header><title>azerty</title></header>
<body>
<img src="temp2.php">
</body>
</html>

2. temp2.php qui génère l'image

<?php
header("Content-type: image/png");
$visites=array(138,254,381,652,896,720,140,556,663,331,407,768);
$largeurImage=400;
$hauteurImage=300;
$im=imagecreate($largeurImage,$hauteurImage)
or die("Erreur lors de la création de l'image");
$blanc=imagecolorallocate($im,255,255,255);
$noir=imagecolorallocate($im,0,0,0);
$bleu=imagecolorallocate($im,0,0,255);
imageline($im,10,$hauteurImage-10,$largeurImage-10,$hauteurImage-10,$noir);
for ($mois=0; $mois<12; $mois++)
imagestring( $im, 0, ($mois+1)*30, $hauteurImage-10, $mois+1, $noir);

imageline( $im, 10, 10, 10, $hauteurImage-10, $noir );
$visitesMax=1000;
for( $mois=0; $mois < 12; $mois++)
{
$hauteurImageRectangle = round( ($visites[$mois]*$hauteurImage) / $visitesMax);
imagefilledrectangle( $im, $mois*30-7, $hauteurImage-$hauteurImageRectangle,
($mois+1)*30+7, $hauteurImage-10, $bleu);
imagestring( $im, 0, ($mois+1)*30-7, $hauteurImage-$hauteurImageRectangle-10,
$visites[$mois], $noir);
}
imagepng($im);
?>

Lit la documentation php qui explique ce mécanisme.

Cordialment.
Répondre à croy
[apache] rediriger les erreurs php (Résolu)Bonjour, je cherche la directive qui permet de rediriger les erreurs php sur apache2. Exemple: lorsque je fais une erreur php dans une page, apache me souligne la fonction incriminée et me propose automatiquement un lien : [function.opendir]: failed... www.commentcamarche.net/forum/affich-2836697-apache-rediriger-les-erreurs-php
Message erreur 0x80ef01f4 (Résolu)Bonjour, bonjour la fonction conversation audio / video ne marche pas , que signifie le message erreur 0x80ef01f4 ? merci www.commentcamarche.net/forum/affich-7896670-message-erreur-0x80ef01f4
Message erreur (Résolu)bonjour je suis nouveau dons ce forum je vous savoir la solution pour fixer les message erreur et merci d'avence www.commentcamarche.net/forum/affich-3269850-message-erreur
[En vrac] Une source d'info, d'outils, etc.Une mine d'informations sur diverses rubriques : Exemple, vous cherchez un code d'erreur d'XP. http://www.docmemo.com/windows/erreurswinxp.php Pour ceux qui veulent installer XP sur un PC sans lecteur CD-rom depuis un autre... www.commentcamarche.net/faq/sujet-3072-en-vrac-une-source-d-info-d-outils-etc
Impossible de supprimer MozMapi32.dllIl est possible qu'une tentative de désinstallation de Thunderbird échoue et que vous receviez alors le message "Impossible de supprimer MozMapi32.dll". En essayant de réinstaller Thunderbird, vous recevrez alors le message "Erreur d'écriture lors de... www.commentcamarche.net/faq/sujet-13492-impossible-de-supprimer-mozmapi32-dll
Message erreur (Résolu)b onjour a tous j ai un message erreur suivant : Opistat.exe-composant introuvable cette application n a pas pu demarrer car nmobsvr.DLL est introouvable. la reinstallation de cette application peut corriger ce probleme. Comment faire pour l annuler... www.commentcamarche.net/forum/affich-3045142-message-erreur
Erreur php sur ma page (Résolu)Bonjour à toute la communautés de Commentcamarche ! J'ai une erreur php sur ma page. C'est écrit très exactement: Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in... www.commentcamarche.net/forum/affich-6230982-erreur-php-sur-ma-page
Erreur 81000306 sur windows live messenger (Résolu)Bonjour, d'un seul coup je ne peux plus me connecter sur windows live messenger version 8.5 , jai le message erreur 81000306 "nous n'avons pas ou vous connecter......." j'utilise vista, et je me connecte en wifi. et ce que je comprend... www.commentcamarche.net/forum/affich-5473660-erreur-81000306-sur-windows-live-messenger
Toutes les réponses pour « Message D'erreur PHP!!! »