Header pour upload [Résolu]

Signaler
Messages postés
9
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
31 octobre 2005
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
Bonjour à tous,
------> Un exemple simple qui me renvoi une page blanche :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


<?
header ("Content-type: image/png");
$image = imagecreate(200,50);

if (date("H") > 8 AND date("H") < 20) // Il fait jour
{
$fond = imagecolorallocate($image, 143, 190, 241); // Fond bleu clair
$couleur_texte = imagecolorallocate($image, 0, 255, 0); // Texte en vert
}
else // Il fait nuit
{
$fond = imagecolorallocate($image, 0, 0, 0); // Fond noir
$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc
}

$heure = 'Il est ' . date('H\h i'); // On stocke l'heure et les minutes dans une variable

imagestring($image, 5, 40, 15, $heure, $couleur_texte); // On affiche l'heure dans la bonne couleur

imagepng($image);
?>

</html>

------> Alors que quand on met juste le php (sans html), ça fonctionne !!

Question :
Ou placer le header pour que ça fonctionne ?
Faut-il utiliser une autre forme de mise en place du code ?

Merci à tous

10 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Peux-tu cliquer sur "réponse acceptée" stp ? merci

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,



difficile à lire ton truc ;-)

Bon j'essaye de te répondre même si je n'ai pas tout compris (et pas
réussi à lire correctement) : on ne peut pas anvoyer de header en php
si on a du html AVANT d'envoyer ce header.

Tu devrais mettre l'error_reporting à E_ALL parce qu'à mon avis, php
arrête simplement le traitement en sortant une erreur, que tu ne vois
pas car ta gestion des erreurs est sans doute mal réglée dans ton
php.ini.



Mais bref :

<?php

echo 'coucou';

header (...); // ne marche pas

?>



<?php

header (...); // fonctionne.

echo 'coucou';

?>
Messages postés
9
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
31 octobre 2005

Merci malalam,
je savais ce que tu me dis mais dans mon script ça marche pas quand j'integre mon php à ma page html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


<?
header ("Content-type: image/png");
$image = imagecreate(200,50);

if (date("H") > 8 AND date("H") < 20) // Il fait jour
{
$fond = imagecolorallocate($image, 143, 190, 241); // Fond bleu clair
$couleur_texte = imagecolorallocate($image, 0, 255, 0); // Texte en vert
}
else // Il fait nuit
{
$fond = imagecolorallocate($image, 0, 0, 0); // Fond noir
$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc
}

$heure = 'Il est ' . date('H\h i'); // On stocke l'heure et les minutes dans une variable

imagestring($image, 5, 40, 15, $heure, $couleur_texte); // On affiche l'heure dans la bonne couleur

imagepng($image);
?>

</html>

ps : je ne comprends pas pourquoi mes retour chariot ne sont pas prix quand je fais un copier/coller de mon script dans ce forum

En cas, puis-je t'envoyer mon script ?
Messages postés
9
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
31 octobre 2005

je ne comprends pas pourquoi mes retour chariot ne sont pas prix quand je fais un copier/coller de mon script dans ce forumEn cas, puis-je t'envoyer mon script et quand j'écris !!! C'est illisible !
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
http://www.phpcs.com/tutorial.aspx?ID=265



Si ca marche sans code html, et que ca marche pas quand tu inclus le html, c'est parce que Malalam dit vrai.
Messages postés
9
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
31 octobre 2005

OK FhX mais alors comment tu inclus le header dans mon script qui fonctionne sans html ! Comment tu l'inclus dans une mage html ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


<?php

header ("Content-type: image/png");
$image = imagecreate(200,50);

if (date("H") > 8 AND date("H") < 20) // Il fait jour
{
$fond = imagecolorallocate($image, 143, 190, 241); // Fond bleu clair
$couleur_texte = imagecolorallocate($image, 0, 255, 0); // Texte en vert
}
else // Il fait nuit
{
$fond = imagecolorallocate($image, 0, 0, 0); // Fond noir
$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc
}

$heure = 'Il est ' . date('H\h i'); // On stocke l'heure et les minutes dans une variable

imagestring($image, 5, 40, 15, $heure, $couleur_texte); // On affiche l'heure dans la bonne couleur

imagepng($image);

?>

</html>
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
<?php



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

$image = imagecreate(200,50);



if (date("H") > 8 AND date("H") < 20) // Il fait jour

{

$fond = imagecolorallocate($image, 143, 190, 241); // Fond bleu clair

$couleur_texte = imagecolorallocate($image, 0, 255, 0); // Texte en vert

}

else // Il fait nuit

{

$fond = imagecolorallocate($image, 0, 0, 0); // Fond noir

$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc

}



$heure = 'Il est ' . date('H\h i'); // On stocke l'heure et les minutes dans une variable



imagestring($image, 5, 40, 15, $heure, $couleur_texte); // On affiche l'heure dans la bonne couleur

?>

<html>

<head></head>



<?php

echo imagepng($image);

?>



</html>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



quand t'envoies une image t'envoies pas de HTML, c'est le principe même d'une image. Enlève donc tout ton code HTML.



ton fichier "image.php" :




<?php



header ('Content-type: image/png');

$image = imagecreate(200,50);



if (date('H') > 8 AND date('H') < 20) // Il fait jour

{

$fond = imagecolorallocate($image, 143, 190, 241); // Fond bleu clair

$couleur_texte = imagecolorallocate($image, 0, 255, 0); // Texte en vert

}

else // Il fait nuit

{

$fond = imagecolorallocate($image, 0, 0, 0); // Fond noir

$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc

}



$heure = 'Il est ' . date('H\h i'); // On stocke l'heure et les minutes dans une variable



imagestring($image, 5, 40, 15, $heure, $couleur_texte); // On affiche l'heure dans la bonne couleur



imagepng($image);



?>



ensuite ton code html :




<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
9
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
31 octobre 2005

Merci à tous,
Désolé FhX, ton script ne fonctionne pas !

Merci Anthomicro, ton script fonctionne !!

@+
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Ah, evidemment que ca marche pas... jfait un echo sur imagepng() :/ (moi et GD alors ;))



De plus, que mon code marche ou pas, c'était pas mon problème. Ce que
je voulais que tu comprennes, c'est comment les headers en PHP se
placent par rapport au code HTML.



Puisses-tu avoir compris, même si j'en suis pas si sur :)