Image GD et php ! prob d'affichage

Signaler
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006
-
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006
-
Bonjour tout le monde.
Voilà mon problème : mon utilisateur selectionne une image et un texte au choix dans un formulaire ensuite une page s'ouvre et affiche les 2 en GD. Mais mon code me pose problème, mis ainsi il ne s'affiche que l'image avec le texte en gd mais pas le reste de mes variables!!! Pourquoi??? Help

<?php
$nom_image = $_POST["image"];
$texte = $_POST["texte"];

header("Content-type: image/jpeg");
$image = imagecreatefromjpeg($nom_image);
$blanc = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 150, 150,$texte, $blanc);
imagejpeg($image);

?>

<html>

<?php
$var1 = $_POST["expediteur"];
$var2 = $_POST["destinataire"];

echo '<center>Prévisualisation de votre carte
</center>';
echo "
","<hr>";
echo "<center>".""."Bonjour ".$var2.", ".$var1." vous envoie cette carte "."
".""."</center>";
echo "
";
?>


</html>

Alors j'ai essayé de mettre tout ce qui est dans balise html en première place mais là probleme encore pire : J'ai bien "Prévisualition etc" mais j'ai une erreur ligne au niveau du header('content') et après plein de symboles bizarres....
Ouin bouh snif...
J'ai l'impression d'avoir retourner le code dans tous les sens, mettre du php, du html, l'un dans l'autre. Et toujours soit j'ai que l'image soit le début mais pas l'image et des lignes bizarres...
Aidez moi s'il vous plait. Je ne connais que les bases de php, je debute et proche du niveau zéro. Donc SVP expliquez moi simplement comme à un enfant. Merci

16 réponses

Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

Veuillez m'escuser je comprends pas pourquoi c'est en ligne comme ca... J'arrive pas à mettre normalement

Bonjour tout le monde.
Voilà mon problème : mon utilisateur selectionne une image et un texte au choix dans un formulaire ensuite une page s'ouvre et affiche les 2 en GD.
Mais mon code me pose problème, mis ainsi il ne s'affiche que l'image avec le texte en gd mais pas le reste de mes variables!!! Pourquoi??? Help
<?php


$nom_image = $_POST["image"];
$texte = $_POST["texte"];

header("Content-type: image/jpeg");
$image = imagecreatefromjpeg($nom_image);
$blanc = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 5, 150, 150,$texte, $blanc);
imagejpeg($image);
?>
<html>

<?php
$var1 = $_POST["expediteur"];
$var2 = $_POST["destinataire"];
echo '<center>Prévisualisation de votre carte
</center>';
echo "
","<hr>";
echo "<center>".""."Bonjour ".$var2.", ".$var1." vous envoie cette carte "."
".""."</center>";
echo "
";
?>

</html>

Alors j'ai essayé de mettre tout ce qui est dans balise html en première place mais là probleme encore pire :
J'ai bien "Prévisualition etc" mais j'ai une erreur ligne au niveau du header('content') et après plein de symboles bizarres...
Ouin bouh snif...
J'ai l'impression d'avoir retourner le code dans tous les sens, mettre du php, du html, l'un dans l'autre.
Et toujours soit j'ai que l'image soit le début mais pas l'image et des lignes bizarres...
Aidez moi s'il vous plait. Je ne connais que les bases de php, je debute et proche du niveau zéro.
Donc SVP expliquez moi simplement comme à un enfant. Merci
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
fais voir le code du formulaire
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
echo "<center>Bonjour
".$var2.", ".$var1." vous envoie cette carte
</center>";

dejà c'est plus clair mais le pb ne vient pas de là
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

Voila mon formulaire , si il y a anni1.jpg et après anniv1.php c'est parce que je suis obligé d'utiliser GD pour redimensionner les photos,
sinon j'aurai fait beaucoup plus simple...

<SCRIPT language="JavaScript">
<!--
function ControleVide()
{
if(document.Formulaire.verso.value=='')
{
alert('Le champs Message doit être obligatoirement rempli !');
document.Formulaire.verso.focus();
}
else
{
document.Formulaire.method = "POST";
document.Formulaire.action = "monblogA2.php";
document.Formulaire.submit();
}
}


//-->
</script>


<html>


<head>


<title>Votre carte</title>


</head>


<form method="post" name="Formulaire" action="monblogA2.php">
Composez votre nouvelle carte !!!

----, Le nom de l'expéditeur:</td>
,
----
Le nom du destinataire:,
,
----
Votre image au recto:,
image 1:,
image 2:,
image 3:,
----
,
,
,
,
----
Votre message au recto :,
Bon anniversaire,
Happy birthday,
Gut Geburstag,
----
Votre message au verso :,
<textarea rows="5" name="verso" size="60" maxlength="60" value=""></textarea>,
----

&nbsp;,

</form>
[garde.html.htm RETOUR au sommaire]

Merci
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

Enfin plus" simple" facon de parler, mon code c'est du bidouillage mais c'est vraiment dur pour moi
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
au niveau structure




<html>


<head>


<title>Votre carte</title>
<SCRIPT language="JavaScript">
<!--
function ControleVide()
{
if(document.Formulaire.verso.value=='')
{
alert('Le champs Message doit être obligatoirement rempli !');
document.Formulaire.verso.focus();
}
else
{
document.Formulaire.submit();
}
}

//-->

</script>
</head>



serait meilleur


et
onClick="ControleVide();"

mais je ne vois pas pourquoi tu ne recuperes pas expediteur et destinaitaire ??
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
essaie de grouper



$nom_image = $_POST["image"];
$texte = $_POST["texte"];

$var1 = $_POST["expediteur"];
$var2 = $_POST["destinataire"];
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

Ca marche pas de regrouper les variables Ca donne toujours l'image et le texte choisis en GD mais le reste suis pas...Grrrrrrrrrr


Qu'entends tu par "recuperer expediteur et destinataire"? Ils sont censé (quand ca marchera) etre là pour dire " Bonjour Untel, Quelqu'un vous envoie cette carte".
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
je dis 'je ne comprends pas pourquoi tu n'arrives pas a recuperer

les données expediteur et destinataire !!' j'avais bien compris

le code a l'air bon ?



fais des echo des variables juste apres pour voir ce qu'il y a dedans

$nom_image = $_POST["image"];

$texte = $_POST["texte"];

$var1 = $_POST["expediteur"];
$var2 = $_POST["destinataire"];



echo $nomimage.'
';

echo $texte.'
';

echo $var1.'
';

echo $var2.'
';
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

Ok pardon. Alors si je fais ce que t'as dit , le contenu des variables qui s'affiche est bon:
anniv1.jpg
Bon anniversaire
Un(e) ami(e)
Inconnu

Voila un apercu de la suite de ce qu'affciche la page :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\php nobecourt\prrr\monbloga.php:7)
in c:\program files\easyphp1-8\www\php nobecourt\prrr\monbloga.php on line 11
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC 

Comme d'hab' la ligne 11 est celle ci :
header ("Content-type: image/jpeg");
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
non c'est normal que la fonction header plante apres un echo

enlève les

et mets les APRES la fonction header pour voir !
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
une des rares manieres de debugger en php

c'est echo tous azimuts pour voir le contenu

des variables à tel ou tel moment



:?)
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

J'ai mis les echos juste après le header. resultat = carré blanc avec croix rouge, et c'est tout

J'ai mis entre imagestring et imagejpeg = meme resultat

J'ai mis après imagejpeg = image et texte en GD mais la suite viens toujours pas

J'ai mis entre la fin du premier php et le debut du 2= meme resultat que ci dessus

j'ai mis dans 2 e php = meme resultat

J'ai mis avant fin du 2e php = meme resultat

Bref n'affiche ni ce que je ve ni le contenu des variables... Ne me l'affiche que quand au dessus du header

Gnnnnf
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
apparemment il ya un conflit entre le header et les données en post
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

Ca a l'air d'etre ca, car plein de gens me disent que ce qui est après le header est ignoré.

http://www.phpfrance.com/forums/voir_sujet-14577.php
Mais ca me semble galère à faire...
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006

Bon apparement il faut 2 fichiers : 1 GD et l'autre Php dans lequel on
appelle pa gd. Mais se pose le probleme des variables, on peut les

gerer grace à des sessions et cookie qui vont enregistrer les données pour les resservir ailleurs.

Comme je n'y arrivais pas j'ai tout fait en gd et puis basta.