Afficher une imagen crée en php + afficher du txt [PHP] - PHP - Programmation
Marsh Posté le 20-08-2003 à 11:54:29
Code :
|
Marsh Posté le 20-08-2003 à 11:57:11
simogeo a écrit :
|
marche pas non plus
Marsh Posté le 20-08-2003 à 12:02:00
tu as des balises d'ouverture et de fermeture HTML ?
<html><body></body></html>
Marsh Posté le 20-08-2003 à 12:04:37
simogeo a écrit : tu as des balises d'ouverture et de fermeture HTML ? |
non j'ai pas mis, si je les mets, il me ralle avec le header("Content-type: image/jpeg" );
Marsh Posté le 20-08-2003 à 12:08:15
Code :
|
comme ça
Marsh Posté le 20-08-2003 à 12:19:02
simogeo a écrit :
|
Merci de ton aide, mais maintenant, l'image est pas affichée, c'est le code bizare qui s'affiche
ÿØÿàJFIFÿþx?Ä_oñZEí?^?]µÕü9â?^Ñ/µ;#«¶?ðÀo??·Õ?üsþ yñK঳ðÿö|øeñWþÿÏÄ_ÚWö7øÑñ·À??áý?5?ë?ð¤|]á?Ú?öUðüÿð¬ü@ú®?ñ'û?Pø?åkÖ?¦]?Â{¤ÜÁâ/Ìø%×ìsðëà'ì?ÿÒñ?ü+þ )û@|FþÕý?ÿjÙ·â?Ä5ð/íOñ£Æ? þÃûl~Òß´OÃ???µ×ü³Âÿu?øNÿgÿÿlAñgágÇOá§Æ?øF>;Xü*Ô¼Uà???Ù_>.Dýüfÿ??Xüñßì_ð[Å?±?í?¨þÑ¿·Gü4_ü*OÙã÷ÿ±µß?ü;ÿ É£é~+ñïü,_j_¶?ðHþ×ð.¯mã?ÿÂ3ñ?ÅßoÑÒ}+YþÀñ?Çáiyû¯ø,?ì?áï?_þ!üDÓ~0|/øÉðã?û:ø÷öñ??tKïÛkPý¡üy> >üøkðoÀ?0ñ??ñ?ĵ?e??gü(ñÇ?~|Kð<?¿?íþ#iÞðÅKÀßÍ??e_ÚwÂ??à?Þ2ý¨> þßúìKð×ö?ÿ?¾x¯àg?¾è¶???kØ;þ ÷ñ{à?Á?öý?>=xÛö+1ý¦¾ü@µÖ¬/´KO¿Å?x?Âÿ ¯áø=ãOÚøkÁ2ømà_?ñGì?ûdë?ðO¿ø)?Âß?³OÄ _þ ×ñÇöÿÑ~,X|:øãðnÆÿþ õñ?öDÕüNÞ"ÿ??üKøyá?þ?÷âí©üMð¾?®ÿÁ<üeûléú¿í¯{ð?ú?§¬jRüUÒ?déíÀ??¬?࿲Ç??á¥ô¯ÚªÛâìñöMø? üeø¯ð·ö²?áÖ?ãGàO?ÿ²tÏ ünøC¨|ø?ñ¿áÿÇ??úÿÄ T|·O?þ8ñ×?tï?ÐÚ|×ü%£ü@ñG?´/ ?à¨Þñï?ô/?¾;ý?¿kÿÙ£ã×ÄÿÙÿSý¢¿fo??´¯?>ü;ñßígáÏhú?·ã?u};ö?ñGÃ-3ö?ø?e?uñ'àÇ/?_~)ü8Ñüe øÃÆþÐ| §øÇÅ>üaÓ?g¯ÛBûQÿ?ÌëðK??Þ ¼ø-ûJ~Ì ¼'áÝSþ ßðÓâµÇÇ??߶?á]À¾9ðÏÂûïÛ?E?Ú'â§ìÁ£~É:¶¯àï èßðP?uï??wí?©Cáï?ÖÐþÍ7?¬äôø&¿ìõ??¿o?ÙWÇ_±ÀïÛ?Á?³w?ÿà?ý?¿m?ÿÁUþ|eðçÄÏ é>yµ?Ù?àwì?â?Ú-?ÄMã?ñÏÅ:§íYðÓöj¼µÿ?hé?m|}à]?0|.?@?O¾ÿÁTßã×íAñ?öGðÇìûoè¿f¿| Ñ¿iI|Y«þÁ?þø§~Ñ^?Æ? üYâmcÃÿ·7?î|iáùük¨ø»Y¶ø3¦|OñV?§i·:cøfoϧxzûõ~¿?a/?ÿü!ÿ?ÿ?òüRñgÃO?øeñ?þwÿ ?â/?¼â=À??á_þÊ?/ðï??á]x»RÓm¼?ãoøB|Asm¡x»þ?CSÿ?oX¸?LÖ~Å{,p7íõQEQEQEQE?ÿÙ
, pourtant j'ai copier ton code et coller...
Marsh Posté le 20-08-2003 à 12:25:52
ss netscap 7.0 j'obtiens ce message :
The image “http://xxxxxxxxx/test.php” cannot be displayed, because it contains errors. |
Marsh Posté le 20-08-2003 à 12:30:59
Ben si tu m'étonnes, je m'y connais pas trop, mais ça semble faire n'importe quoi. Ou tu fais une image, ou tu fais un fichier html.
Code :
|
Marsh Posté le 20-08-2003 à 12:48:06
Ben l'image doit être afficheé dans une page html, avec d'autres chose. C'est pour fair un code de vérification que l'utilisateur doit recopier dans une case.
Marsh Posté le 20-08-2003 à 12:53:48
Belgique a écrit : Ben si tu m'étonnes, je m'y connais pas trop, mais ça semble faire n'importe quoi. Ou tu fais une image, ou tu fais un fichier html. |
t'es sur de toi ?
moi ca m'etonnerait .. mais j'ai jamais bossé avec les fonctions de creation d'image... mais je pense qu'on peux mélanger html et image
Marsh Posté le 20-08-2003 à 12:55:20
non on peut pas puisqu'il faut deux headers differents.
soit l'un, soit l'autre.
la solution que belgique presente est bonne par contre, car on affiche l'img pas directement mais grace au html ...
Marsh Posté le 20-08-2003 à 14:01:03
tu génère ton image dans un document php avec le header correct. (image.php)
puis dans l'autre document ou tu dois afficher le texte et l'image tu mets:
<img src="image.php"><br />Ton commentaire |
Marsh Posté le 20-08-2003 à 14:14:16
THE REAL SMILEY a écrit : tu génère ton image dans un document php avec le header correct. (image.php)
|
Ach, mais il faut que ça soit généré par le même document, sur la même page
Marsh Posté le 20-08-2003 à 15:04:17
Belgique a écrit : Prends ma solution alors. |
Avec ta méthode, tonfichier.php?image=true, tonfichier doit être remplacé par le nom de la page php ou ya le code, c'est bien ça?
Car j'arrive pas à faire fonctionner, l'image créer a comme url code2.php?image=true (car code2.php est la page ou ya le code).
MErci pour ton aide
Marsh Posté le 20-08-2003 à 15:06:03
Oki c'est bon, j'ai remplacé if($_get['image']==true)
par if($image==true) et ça marche maintenant.
Merci
Marsh Posté le 20-08-2003 à 19:02:00
fox25 a écrit : |
Serais tu du genre a vouloir mettre a la fois de l'escence et du gasoil dans le même réservoir de voiture?
Par ce que là, c'est ce que tu essayes de faire.
Le navigateur demandes un fichier et il faut qu'il soit d'un type et avec un contenu corespondant au type reçut.
On ne peut pas mettre dans un seul fichier a la fois l'image et du texte traditionnel.
De plus, un système tel que celui qui t'es demandé est fait pour empêcher des bots de pourir ton système de stockage de donnée avec de fauses données. Si tu permet a des bots d'avoir la valeur en dehors de l'image alors l'image sert plus a rien.
Si tu veux faire un tel système, il faut que t'envoyes l'image toute seule au navigateur et que tu stockes la valeur associé a un endroit du serveur (un fichier, une base de donnée ou dans n'importe quel espace de stockage qui n'est pas effacé a la fin du script) avec une autre valeur permettant de savoir quelle valeur corespond au formulaire de tel PC.
Quand la personne valide son formulaire, tu va relire la valeur et comparer ça avec ce qu'elle a saisie.
Ce que t'as essayé de faire là, c'est du n'importe quoi, et même pire, c'est du n'importe quoi qui n'a aucune chance de marcher pour cause de mélange de donnée de type différent. (image et texte)
Marsh Posté le 20-08-2003 à 20:29:23
omega2 a écrit : Serais tu du genre a vouloir mettre a la fois de l'escence et du gasoil dans le même réservoir de voiture? |
Sache que je suis pas un expert avec les images en php, j'ai appris des choses interressantes aujourd'hui.
Pour ton explication, j'ai rien compris, mais c'est bien pour empêcher un truc avec les bots (c'est pas un code pour un de mes sites, c'est pour un pote et il veut tout mettre sur une page, alors je cherche le moins de tout mettre sur une page).
la manière que Belgique m'a donnée ne marche pas selon toi? Car elle donne bien ce que je veux
Elle n'empêche rien avec les bots (je n'y connais non plus rien aux bots )
Marsh Posté le 20-08-2003 à 21:10:06
fox25 a écrit : |
Petite question : est ce que ca gènera le concepteur d'un bots si le code a saisir est toujours le même?
D'un autre côté, est ce qu'il y a des chances que le code dans l'image et le code envoyé comme texte sera le même si c'est une valeur aléatoire?
Le code php qu'il t'as passé marchera mais d'un autre côté, il ne sera pas utile pour ce que t'aurais besoin.
Ce que je te proposais moi, c'était que dans le script qui créé le formulaire, tu mettes un lien vers l'image avec une valeur unique (une valeur pas encore utilisé, par exemple l'heure en seconde ou miliseconde + l'adresse IP) et cette même valeur dans un champ caché du formulaire.
Le fichier qui créé l'image renvoyé au navigateur va récupérer cette valeur. Ensuite, il prend un nombre aléatoire qu'il écrit dans l'image comme tu le fais jusqu'a présent, et au lieux de faire un echo de ce nombre, il stockera cette valeur dans un fichier texte ou mieux dans une base de donnée (ce qui permet d'éviter les accés concurants) avec la valeur récupérer dans l'URL.
En gros ca donne un truc du genre :
dans le formulaire :
Code :
|
pour créer l'image :
Code :
|
a la validation du formulaire :
Code :
|
Bon, j'ai pas tester ce code et comme ca fait trois semaine que j'ai plus fait de php et que je me mets a fond dans le java, il y a de forte chance qu'il y ai des erreurs dans ce code. Mais même dans le pire des cas, l'algo qu'est derrière ce que j'ai taper est bon.
Quand aux bots, ce sont des programmes autonomes, un peu comme des robots. Si de nombreux sites web mettent en place ce genre de protection, c'est avant tout pour éviter que des programmes de ce genre ne se mettent a envoyer des données comme si c'était des formulaire remplis par un humain et se de manière tellement rapide que ca ralentis énormément les véritables visites et que ca remplis les bases de donnée a une vitesse phénoménale. (j'ai un ami a qui il a falut mettre son site hors ligne pendant plus de 48 heures le temps de faire le tris entre les faux et les vrai messages (assez vite fais) et surtout pour coriger le code de son site afin d'empêcher qu'une telle attaque ce reproduise)
Si le code de vérification est toujours le même, il sufit que celui qui a écrit ce bots saisisse une fois la valeur dans son bots pour que tout les formulaires que tu recevras de sa part soient considérer comme valide. (pas intéressant comme protection n'est ce pas. )
J'espères avoir été un peu plus clair ce coup ci.
Marsh Posté le 21-08-2003 à 09:19:19
Je sais pas si ça résout le problème, mais j'ai pas besoin d'afficher le code en text, juste en image. Mais le copain aura besoin d'afficher d'autre choses sur la page. Je dois juste récuperer le code pour pouvoir le controler quand il valide le formulaire je pense.
Si t'es sur que ça marche pas, que ça résout pas le problème des bots, je peux examiner ta solution avec plaisir.
p.s. le code est généré aléatoirement (avec chiffres et lettres)
Merci de ton aide
Marsh Posté le 21-08-2003 à 09:34:47
Marsh Posté le 25-08-2003 à 19:29:58
C'est de nouveau moi
le code marche très bien sur internet explorer, mais sur mozilla il ralle pour l'image :
The image ?http://www.echanges-savoir.ch/inscription.php? cannot be displayed, because it contains errors.
C'est différent pour faire afficher une image (créer) sour mozilla et autres que IE?
Merci
Marsh Posté le 25-08-2003 à 19:52:22
fox25 a écrit : C'est de nouveau moi |
nan, mais tu as surement fait une erreur de type mime, Moz est plus strict à ce niveau que IE (et c'est tant mieux)
Marsh Posté le 25-08-2003 à 20:35:06
THE REAL SMILEY a écrit : |
Ce qui veut dire pour une personne qui s'y connais pas à fond ?
voici le code de la page:
Code :
|
Merci de ton aide
Marsh Posté le 25-08-2003 à 20:41:24
Belgique a écrit : tape tout le code de la page, ça sera plus facile |
Ben c'est tout le code de la page (j'ai juste remplacé le code pour générer le nombre par un nombre défini), mais en faite, ya une autre page qui fait une include de cette page(code.php). Et j'ai pas l'autre page (car c'est pour le site d'un copain, il m'a demandé de faire ce code )
Le problème pourrait venir de l'autre page?
merci
Marsh Posté le 25-08-2003 à 20:54:19
Belgique a écrit : Heu, faire un include de ça ça n'a pas bcp de sens... |
il fait un include pour pas recopier le code. En tout cas ça marche sur IE
Marsh Posté le 26-08-2003 à 17:28:25
Up, je suis obliger de montrer le reste du code, le problème vient pas que de cette page??
Merci
Marsh Posté le 26-08-2003 à 22:07:29
Le problème vient de header? il est: header("Content-type: image/jpeg" ); faut que je le remette en normal (pas image). On fait comment ça ?
Merci de m'aider
Marsh Posté le 27-08-2003 à 14:52:10
ReplyMarsh Posté le 27-08-2003 à 14:52:48
Quant tu crée une image avec header, il ne faut aucun code html.
La page .php doit servir uniquement à créer l'image.
Essaie ça:
Code :
|
Tu enregistre ce code dans "image.php" par exemple.
Tu appelles ensuite l'image dans une page html traditionnelle à l'aide d'une balise <img>:
<img src="image.php">
PS: Ton PHP est-il correctement configuré avec les extensions GD et GD2 dans php.ini ?
Marsh Posté le 27-08-2003 à 14:56:38
kfman a écrit : Quant tu crée une image avec header, il ne faut aucun code html.
|
Oui, GD2 est bien configuré je pense. Le problème avec mon code c'est que Mozilla ralle et pas IE. Je vais aussi essayer ta solution, mais le probème est que j'ai besoin du nombre plus bas sur la page. Je devrais donc trouver une astuce pour l'avoir plus bas. Je vais d'abord essayer avec le exit(). Sinon j'essaie ta solution.
merci
Marsh Posté le 20-08-2003 à 11:46:26
Salut,
je veux afficher une image que j'ai crée avec imagecreate et sur la même page, il doit y avoir d'autre chose affichée avec un echo, mais j'arrive pas à faire les 2 choses en même temps. Soit l'image s'affiche mais pas le texte, soit le text s'affiche mais pas l'image.
C'est possible d'afficher les 2 choses en même temps?
Il ne veut pas afficher $nombre, ya que l'image..
Quelqu'un peut m'aider?
Merci
Message édité par fox25 le 20-08-2003 à 11:47:52