Alt 22.05.2006, 00:59:27   #1 (permalink)
knebel24
2e5.de

ID: 114209
Lose senden

knebel24 eine Nachricht über ICQ schicken knebel24 eine Nachricht über Skype™ schicken
Reg: 24.04.2006
Beiträge: 363
Standard [PHP/GD] ImageCreateFromPng *please close*

So ihrs,
ich hab da mal ein Problem.

Folgende:
ich möchte für einen Datei download eine Absicherung haben, wo der User einen Code eingibit. Dieser Code soll (ähnlich wie der hier bei Klamm) mit Kreisen und Strichen hinterlegt sein.

Ich wüsste jetzt gerne mal was ich flasch mache denn er gibt immer an, dass der Code falsch ist und er kein Bild erstellen kann.

kann mir vielleicht jemand helfen?

mfg.
knebel24

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
require("./config/config.php");
header ("Content-type: image/png");

$id $_GET["id"];

$code_result mysql_query("SELECT code FROM tab_log WHERE log_id='$id.'");
$code_data mysql_fetch_array($code_result);
   
$num rand(1,3);
$bild "./bild/bild_$num.png";

$im imagecreatefrompng($bild);
imagecreate (20060) or die ("Kann keinen neuen GD-Bild-Stream erzeugen");

$co1 rand(140,180);
$co2 rand(140,180);
$co3 rand(140,180);
$co4 255-$co1;
$co5 255-$co2;
$co6 255-$co3;

$background_color ImageColorAllocate ($im000);
$text_color imagecolorallocate ($im$co1$co2$co3);
imagestring ($im5,7025$code_data[code], $text_color);
imagepng($im); 
TickTramp.net - Deine Mitfahrzentrale für die Schiene!
knebel24 ist offline   Mit Zitat antworten
Alt 22.05.2006, 01:09:34   #2 (permalink)
respawner
Erfahrener Benutzer

ID: 12494
Lose senden

Reg: 26.04.2006
Beiträge: 388
Standard

irgendwie verstehe ich das imagecreate nicht, warum machst du das, wenn du sowieso mit $im weitermachst?
gibt es das bild auch? Mach mal den header raus und gucke was er genau für eine Fehlermeldung ausgibt. Aber zuerst das komische imagecreate raus.

MfG respawner
 
respawner ist offline   Mit Zitat antworten
Alt 22.05.2006, 06:24:59   #3 (permalink)
tedlemegba
abgemeldet

Reg: 20.04.2006
Beiträge: 2.737
Standard

Verstehe das auch nicht so wirklich.

Für evtl. Fehlermeldungen einfach mal deinen Content-Type im Header auskommentieren:
#header ("Content-type: image/png");

Ansonsten sehe ich auch nicht den Sinn von deinem imagecreate, weil du es nicht weiter nutzt, wie respawner schon angemerkt hat. Ansonsten würde ich nicht gebrauchtes (falls das der Fall sein sollte) aus dem Code erstmal rauslassen. Eventuell willst du aber auch die Teile reinkopieren, dann krame doch mal im Manual nach den entsprechenden Funktionen!
 
tedlemegba ist offline   Mit Zitat antworten
Alt 22.05.2006, 11:32:21   #4 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.692
Standard

@knebel24:
Das "### CODE ANFANG ###" kannst du dir sparen. Im Forum haben wir [php]-Tags, da wird der Code sogar schon gehighlighted. Ich hab das mal geändert oben

@Problem:
Die imagecreate()-Zeile löscht du raus, die verschwendet ja nur Resourcen, wenn du das Bild eh nicht benutzt.
Der Fehler liegt zwischen Zeilen 6-8. MySQL gibt sicherlich eine Fehlermeldung raus, weil du keine Fehlerverarbeitung drinhast. Wegen dem content-type-Header versucht der Browser das Teil als Bild zu interpretieren und scheitert logischerweise daran.

Debugging: Schick einen
PHP-Code:
1:
2:
//header ("Content-type: image/png");
@header("content-type: text/plain"); 
Dann siehst du ganz am Anfang die Fehlermeldung.

ToDo: Benutz gleich eine Klasse mit integrierter Fehlerverarbeitung für Datenbankaufrufe oder du musst die Tortur bei jeder mysql_*()-Zeile machen
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Alt 22.05.2006, 15:17:15   #5 (permalink)
knebel24
2e5.de

ID: 114209
Lose senden

knebel24 eine Nachricht über ICQ schicken knebel24 eine Nachricht über Skype™ schicken
Reg: 24.04.2006
Beiträge: 363
Standard

Hi,
ich hab den Fehler gefunden! (es war ein Klassenkamerad!)

der Kerl hat nur die Dateiendung geändert in der Hoffnung, dass es dann eine png-Datei ist. Das ist halt das Problem an Klassenprojekten

Schönen Dank für die Hilfe!

mfg.
knebel24


Hier nochmal der Code wie er jetzt ist!

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
require("./config/config.php");
@
header("content-type: text/plain");

$id $_GET["id"];

$code_result mysql_query("SELECT code FROM tab_log WHERE log_id='$id.'");
$code_data mysql_fetch_array($code_result);
   
$num rand(1,3);
$bild "./bild/bild_$num.png";

$im imagecreatefrompng($bild);


$co1 rand(140,180);
$co2 rand(140,180);
$co3 rand(140,180);
$co4 255-$co1;
$co5 255-$co2;
$co6 255-$co3;

$background_color ImageColorAllocate ($im000);
$text_color imagecolorallocate ($im$co1$co2$co3);
imagestring ($im5,7025$code_data[code], $text_color);
imagepng($im); 
TickTramp.net - Deine Mitfahrzentrale für die Schiene!
knebel24 ist offline Threadstarter   Mit Zitat antworten
Antwort

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
imagecreatefrompng kangoo23 Programmierung 4 29.07.2008 17:14:39
*CLOSE*[V] 10,30 Euro Earnstar-Guthaben *verkauft* *CLOSE* DeadMansHorror Lose4Werbung 0 07.05.2008 13:09:02
*CLOSE* *CLOSE* 150.000 Lose für Post "umgestalten" *CLOSE* Wiggle Lose4Action (erledigt) 2 13.03.2008 17:06:55
~close~ 200k für einen Liedtitel ~close~ Aradiv Lose4Action (erledigt) 1 13.06.2006 17:35:32


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:14:45 Uhr.