Image GD et php ! prob d'affichage

riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006 - 15 févr. 2006 à 18:10
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006 - 22 févr. 2006 à 09:41
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

riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
15 févr. 2006 à 18:17
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
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
15 févr. 2006 à 18:30
fais voir le code du formulaire
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
15 févr. 2006 à 18:32
echo "<center>Bonjour
".$var2.", ".$var1." vous envoie cette carte
</center>";

dejà c'est plus clair mais le pb ne vient pas de là
0
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
15 févr. 2006 à 18:37
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
0

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

Posez votre question
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
15 févr. 2006 à 18:39
Enfin plus" simple" facon de parler, mon code c'est du bidouillage mais c'est vraiment dur pour moi
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
15 févr. 2006 à 18:50
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 ??
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
15 févr. 2006 à 18:51
essaie de grouper



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

$var1 = $_POST["expediteur"];
$var2 = $_POST["destinataire"];
0
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
15 févr. 2006 à 19:00
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".
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
15 févr. 2006 à 19:06
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.'
';
0
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
15 févr. 2006 à 19:18
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");
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
15 févr. 2006 à 20:00
non c'est normal que la fonction header plante apres un echo

enlève les

et mets les APRES la fonction header pour voir !
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
15 févr. 2006 à 20:01
une des rares manieres de debugger en php

c'est echo tous azimuts pour voir le contenu

des variables à tel ou tel moment



:?)
0
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
15 févr. 2006 à 22:21
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
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
16 févr. 2006 à 09:13
apparemment il ya un conflit entre le header et les données en post
0
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
16 févr. 2006 à 09:35
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...
0
riecola Messages postés 22 Date d'inscription jeudi 26 janvier 2006 Statut Membre Dernière intervention 7 avril 2006
22 févr. 2006 à 09:41
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.
0
Rejoignez-nous