Image sous PHP

Image sous PHP - PHP - Programmation

Marsh Posté le 21-07-2005 à 16:00:41    

Voila mon probleme:
actuellement, un formulaire permet de créer sur une popup une image, en fonction des paramètres définis dans le formulaire.  
Je voudrais que dans ma popup, en plus de l'image, se trouve du texte et un bouton, je fais comment? Parceque pour le moment, si je rentre du texte "normalement", il saute, et si je veux mettre un bouton, ma fenetre me met un message d erreur
session_start():Cannot send session cache limiter -headers already sent)

Reply

Marsh Posté le 21-07-2005 à 16:00:41   

Reply

Marsh Posté le 21-07-2005 à 16:03:35    

On est censés sortir la boule de crystal pour savoir ce que fait ton code?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-07-2005 à 16:04:22    

Pour l'erreur sur session_start, c'est dit environ deux fois par semaine (dont une aujourd'hui je crois), donc cherche un peu.
 
Et pour le texte qui saute, sans voir ton code ça va être dur de trouver ce qui cloche. [:figti]


Message édité par sielfried le 21-07-2005 à 16:04:48

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 21-07-2005 à 16:11:39    

Code :
  1. <?php
  2. session_start();
  3. $_SESSION['texte_nom']=$_POST['texte_nom'];
  4. $_SESSION['texte_adresse']=$_POST['texte_adresse'];
  5. $_SESSION['texte_tel']=$_POST['texte_tel'];
  6. $_SESSION['texte_port']=$_POST['texte_port'];
  7. $image = imagecreatefromjpeg($_SESSION['carte_visite']);
  8. $taille = getimagesize($_SESSION['carte_visite']);
  9. $hauteur=$taille[1];
  10. $largeur=$taille[0];
  11. $noir=imagecolorallocate($image,0,0,0);
  12. $couleur_nom=imagecolorallocate($image,$_SESSION['rouge_nom'],$_SESSION['vert_nom'],$_SESSION['bleu_nom']);
  13. $couleur_adresse=imagecolorallocate($image,$_SESSION['rouge_adresse'],$_SESSION['vert_adresse'],$_SESSION['bleu_adresse']);
  14. $couleur_tel=imagecolorallocate($image,$_SESSION['rouge_tel'],$_SESSION['vert_tel'],$_SESSION['bleu_tel']);
  15. $couleur_port=imagecolorallocate($image,$_SESSION['rouge_port'],$_SESSION['vert_port'],$_SESSION['bleu_port']);
  16. ImageRectangle($image,0,0,$largeur-1,$hauteur-1,$noir);
  17. ImageRectangle($image,1,1,$largeur-2,$hauteur-2,$noir);
  18. imagettftext($image,($_SESSION['taille_nom']*2),0,$largeur/3,$hauteur/2,$couleur_nom, $_SESSION['police_nom'], $_SESSION['texte_nom']);
  19. imagettftext($image,($_SESSION['taille_adresse']*2),0,$largeur/20,$hauteur*(8/10),$couleur_adresse, $_SESSION['police_adresse'], $_SESSION['texte_adresse']);
  20. imagettftext($image,($_SESSION['taille_tel']*2),0,$largeur*(6/10),$hauteur*(75/100),$couleur_tel, $_SESSION['police_tel'], "tel:".$_SESSION['texte_tel']);
  21. imagettftext($image,($_SESSION['taille_port']*2),0,$largeur*(6/10),$hauteur*(85/100),$couleur_port, $_SESSION['police_port'], $_SESSION['texte_port']);
  22. Imagejpeg($image);
  23. <input name="creation" type="button" onClick="window.open('creation_carte.php');" value="creation">
  24. ?>


Message édité par freddypap le 22-07-2005 à 09:48:23
Reply

Marsh Posté le 21-07-2005 à 16:13:48    

C'est tout le code de ta page ça??  
et s'il te plait tu peut utilisé les balises [+cpp+] [+/cpp+] please (en enlevant les + :) ) ça sera plus clair pour nous...

Reply

Marsh Posté le 21-07-2005 à 16:14:21    

Ben fait voir avec ton texte et/ou ton bouton...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 21-07-2005 à 16:16:00    

lol mais justement, y a rien??? je peux mettre mon texte n importe ou, il saute

Reply

Marsh Posté le 21-07-2005 à 16:18:19    

Je répète ma question, le code que tu nous à donné la, il n'y à absolument rien avant??

Reply

Marsh Posté le 21-07-2005 à 16:21:14    

non rien du tout( mais la, tel que, j ai pas non plus l'erreur cité plus haut, celle la n apparrait que lorsque j essayé de mettre un bouton)

Reply

Marsh Posté le 21-07-2005 à 16:21:21    

Tu n'aurais pas écrit du code HTML avant d'exécuter session_start() par hasard ?

Reply

Marsh Posté le 21-07-2005 à 16:21:21   

Reply

Marsh Posté le 21-07-2005 à 16:26:18    

non

Reply

Marsh Posté le 21-07-2005 à 16:31:01    

Ca sert à rien de nous montrer le code qui marche.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 21-07-2005 à 17:29:06    

c'est bizar quand même.. Je pensait qu'il y aurais un truc avnt la balise php pour avoir une erreur comme ça.. sinon elle ne serait pas incluse par hazard dans une autre page grace à un include??


Message édité par micfont999 le 21-07-2005 à 17:29:23
Reply

Marsh Posté le 22-07-2005 à 09:43:57    

non, pas d include. en fait si je met l'input juste après la balise de fermeture php, j ai cette erreur, si je le met juste avant de fermer, j ai un parse error...pour info, j ai modifire le code ce dessus comme il me l a etait demandé

Reply

Marsh Posté le 22-07-2005 à 09:50:45    

le input il est inséré bizarrement dans le code PHP.
Tu devrais faire :
echo '<input name=....>';


Message édité par jlighty le 22-07-2005 à 09:51:11
Reply

Marsh Posté le 22-07-2005 à 09:55:49    

Reply

Marsh Posté le 22-07-2005 à 10:05:33    

tjrs parse error, expecting `'," or `';"
mais pourtant, je vois pas ou ça peut manquer...

Reply

Marsh Posté le 22-07-2005 à 10:07:43    

as-tu échappé les guillemets comme ceci ? :

Code :
  1. echo "<input name=\"creation\" type=\"button\" onClick=\"window.open('creation_carte.php');\" value=\"creation\">";

Reply

Marsh Posté le 22-07-2005 à 10:09:19    

En effet échappe les guillements j'ai oublié que tu utilisais déjà les simples quotes dans la ligne "<input" :)

Reply

Marsh Posté le 22-07-2005 à 10:15:59    

ouahhhh....bon alors je viens d essayer, et c est revenu a l erreur de session_start......

Reply

Marsh Posté le 22-07-2005 à 10:19:58    

la ligne echo "<input ..." est toujours insérée à la 27 ème ligne ?


Message édité par jlighty le 22-07-2005 à 10:20:15
Reply

Marsh Posté le 22-07-2005 à 10:21:43    

oui, tjrs avant la balise de fermeture php

Reply

Marsh Posté le 22-07-2005 à 10:24:11    

autant pour moi, y a pas l erreur en fait...mais y a tjrs pas le bouton, non plus...

Reply

Marsh Posté le 22-07-2005 à 10:24:44    

Dans ton code il n'y a pas de "return" avant le "<?php" ?

Reply

Marsh Posté le 22-07-2005 à 10:25:02    

quand tu regardes la source de la page générée, tu as quoi ?

Reply

Marsh Posté le 22-07-2005 à 10:33:31    

non, pas de return, et quand a la source.....ben rien, je peux pas cliquer dessus, l option est grisée


Message édité par freddypap le 22-07-2005 à 10:39:39
Reply

Marsh Posté le 22-07-2005 à 10:44:05    

L'option session.auto_start dans le php.ini est activée ou non ?


Message édité par jlighty le 22-07-2005 à 10:44:25
Reply

Marsh Posté le 22-07-2005 à 10:46:43    

non, enbfin elle est a 0 quoi

Reply

Marsh Posté le 22-07-2005 à 10:51:09    

On est d'accord que ton code n'est pas inclu dans autre page. Tu l'appelles directement par [le nom du script].php ?
Quelle est la version de PHP utilisée ?

Reply

Marsh Posté le 22-07-2005 à 10:53:47    

c est la version 4.3.10.
quand au coup du code inclu dans une autre page, je vois pas trop ce que tu veux dir, mais non, l ensemble des info nécessaire pour faire apparaitre cette page sont en session, donc...

Reply

Marsh Posté le 22-07-2005 à 10:55:57    

Comment est appelée la page problématique :
par un lien hypertexte, une redirection ?


Message édité par jlighty le 22-07-2005 à 10:56:10
Reply

Marsh Posté le 22-07-2005 à 11:02:11    

par un 1° window.open  
mais elle marche si je vire le bouton. Mon image apparait et tout. ...d ailleurs elle marche aussi AVEC le bouton, c est juste qu'il apparait pas...

Reply

Marsh Posté le 22-07-2005 à 11:12:14    

donc si tu vires le bouton ça marche ?
et si tu commentes l'affichage de l'image est ce que ça marche ?


Message édité par jlighty le 22-07-2005 à 11:13:16
Reply

Marsh Posté le 22-07-2005 à 11:18:51    

si par commente, tu entends légende, oui, ça marche, mais y a pas de texte qui apparait, juste l image


Message édité par freddypap le 22-07-2005 à 11:27:48
Reply

Marsh Posté le 22-07-2005 à 11:25:57    

en faite je voudrais que tu testes ceci :
commentes tous les affichages d'images et de texte (/* */ ou //)
et laisse la ligne affichant le bouton.

Reply

Marsh Posté le 22-07-2005 à 11:28:57    

ca amrche...enfin, j ai un bouton a l ecran quoi

Reply

Marsh Posté le 22-07-2005 à 11:30:51    

Ensuite décommente les fonctions d'affichage une par une jusqu'à trouver la ligne fautive.
Je ne serais pas surpris si une des fonctions appelées marche bizarrement ;)


Message édité par jlighty le 22-07-2005 à 11:41:08
Reply

Marsh Posté le 22-07-2005 à 11:36:01    

bon, ben on est parti...résultat d 'ici qq minutes

Reply

Marsh Posté le 22-07-2005 à 13:49:03    

ben en fait apparement c est la fonction d insertion de l image Imagejpeg qui pose soucis...mais par quoi je peux la remplacer?

Reply

Marsh Posté le 22-07-2005 à 14:33:47    

sur le site: http://www.php.net/imagejpeg

Citation :

Scenario:
   When pointing your browser directly at a script outputting an image, it displays without problem, but when using it in another page via html (i.e. : img src="x.php?yada=yada" ), you get a broken image.
 
Reason:
   *Any* extra data sent along with the image will cause it to not display on other pages. Extra data may include, whitespace characters (check the begginings and ends of your files), or a call to session_start(), which is what got me.
 
Summary:
   If you're going to send an image DONT START A SESSION in the script that is outputting the image, and make sure that the PHP delimiters are the first and last things in your file.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed