ImageCreate per PHP

Sasser

Erfahrenes Mitglied
Hallo alle zusammen!

Ich habe ein Problem und zwar; Nach meinem Serverumzug wir mir beim folgenden Script;

PHP:
<?php
include($_SERVER['DOCUMENT_ROOT']."/config.php");
		db_connect($db);
			$select=mysql_query("SELECT dom, endung, pr FROM abfrage WHERE id='$id'", $db);
			$idimage=mysql_fetch_array($select, MYSQL_ASSOC);

			if(!strstr($HTTP_REFERER, "###DOMAIN###"))
			{
			$time=time();
			$art="Pagerank";
			$insert=@mysql_query("INSERT INTO exab (id, refferer, zeit, art) VALUES ('$id', '$HTTP_REFERER', '$time', '$art')", $db);
			}

			if(!$idimage[dom] || !$idimage[endung])
				{$prbild="e7.png";}
			else
				{
				$prbild=$idimage[pr].".png";
				}
		mysql_close($db);

header ("Content-type: image/png");
$im = @ImageCreateFromPNG($domain."/images/pr_ex/".$prbild)
or die ("Kann keinen neuen GD-Bild-Stream erzeugen");
ImagePNG ($im);
?>

nur noch das Bild $prbild="e7.png"; ausgegeben und das ist falsch! Die Datenbank existiert und die Tabelle mit den Feldern auch! An was kann das liegen? Das Script rufe ich per http://www.###DOMAIN###.de/ex/pr.php?id=###ID### auf!
 
Prüfe doch erst mal ob überhaupt ein Datensatz ausgewählt wird. Lass dir also mal $idimage ausgeben.
 
Er zeigt mir nichts an... Also wie gesagt die Tabellen etc. existieren 100%ig!

Liegt das irgendwo an der Syntax oder so?
 
Hallo!

Wenn ich mir die Variablen so ansehe, dann könnte ich wetten dass Du ein "Problem" mit "register_globals" hast.

Gruss Dr Dau
 
Meinst du? Aber ich habs angestellt fuer diese Domain per .htaccess und das Formular geht aber trotztem...

Was muesste ich ersetzen dass es geht, damit ich das auf die anderen anwenden kann :confused:

Bitte nur ne kleine Hilfestellung
 
Probier mal Folgendes:
PHP:
include($_SERVER['DOCUMENT_ROOT']."/config.php");
db_connect($db);
if (!isset($_GET['id']) || !ctype_digit($_GET['id'])) {
	header($_SERVER['SERVER_PROTOCOL'].' 400 Bad Request');
	die('400 Bad Request');
}
$result = mysql_query("SELECT dom, endung, pr FROM abfrage WHERE id='{$_GET['id']}'", $db);
$idimage = mysql_fetch_assoc($result);

if (isset($_SERVER['HTTP_REFERER']) && !strstr($_SERVER['HTTP_REFERER'], '###DOMAIN###')) {
	$time=time();
	$art="Pagerank";
	$insert=@mysql_query("INSERT INTO exab (id, refferer, zeit, art) VALUES ('$id', '$HTTP_REFERER', '$time', '$art')", $db);
}

$prbild = 'e7.png';
if (mysql_num_rows($result)) {
	$prbild = $idimage['pr'].'.png';
}
mysql_close($db);

$im=@ImageCreateFromPNG($domain."/images/pr_ex/".$prbild);
if (!$im) {
	header($_SERVER['SERVER_PROTOCOL'].' 500 Internal Server Error');
	die('500 Internal Server Error');
}
header('Content-Type: image/png');
ImagePNG($im);
exit;
 
Die Sache mit der .htaccess kann funktioniern, muss es aber nicht.
Am besten sollte man es auch mit phpinfo() kontrollieren, dann hat man Gewissheit.

Was Du ändern (ersetzen) musst, findest Du raus wenn Du mal nach dem genannten Stichwort suchst.
Das ist nämlich kein unbekannstes Problem..... grad nach einem Serverumzug.
 
Zurück