Dynamisches BILD mit MySQL Daten.

Ok so habe ich mir das Vorgestellt.

Allerdings Funktioniert es nicht!

Ich habe foobar ausgetauscht, aber es geht nicht, es kommt "Die Seite wurde nicht gefunden." Die URL sieht so aus gumbo.php?name=FahrerX
 
Das deutet darauf hin, dass die Datenbankabfrage fehlschlug oder kein oder zu viele Datensätze ausgewählt wurden. Nimm mal den entsprechenden if-Kontrollstrukturblock raus.
 
Ich denke mal du meinst den Teil:
PHP:
if( mysql_num_rows($result) != 1 ) {
        header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true);
        exit;
    }

Denn hab ich jetzt raus genommen und es kommt die seite nicht mehr, wo steht, das die seite nicht gefunden werden kann.

Allerdings kommen jetzt diese fehler:
Code:
Warning:  imagecreatefrompng(.png): failed to open stream: No such file or directory in \htdocs\sigs\gumbo.php on line 29

Warning:  imagecolorallocate(): supplied argument is not a valid Image resource in \htdocs\sigs\gumbo.php on line 30

etc...

was dann so viel heißt, wie das er nichts aus der Datnebank ausgelesen hat.
 
Die Fehlermeldung besagt eher, dass die Grafik, die wahrscheinlich als Hintergrund dienen soll, nicht gefunden wurde. Welchen Wert besitzt oder besaß denn die $car-Variable?
 
Die CAR Variable besitzt einen Wert aus der Datenbank! Also ein Hintergrund Bild, das von fahrer zu Fahrer anders ist.
 
Ich habs jetzt noch mal bisschen probiert, aber jetzt kommt wieder eine weiße seite.

So hab ich es jetzt nochmal gemacht:
PHP:
<?php

    include 'config.php';

    if (isset($_REQUEST["Submit"])) {
	header('Content-Type: image/png');

    $name = $_REQUEST["name"];

    $conn_id = mysql_connect($host,$user,$pw);
    mysql_select_db($database,$conn_id);
    $query = '
        SELECT
                `car`,
                `name`,
                `points`,
                `poles`,
                `win`,
                `posi`
          FROM
                `$table`
          WHERE
                `name = '.$name.'`
        ';
    
	$result = mysql_query($query);

    while($row = mysql_fetch_assoc($result)) 
    { 
    $car = $row['car'];
    $nick = $row['name'];
    $points = $row['points'];
    $poles = $row['poles'];
    $win = $row['win'];
    $posi = $row['posi'];
    }
	
    $img = imagecreatefrompng(''.$car.'.png'); 
    $bl = imagecolorallocate($img, 0, 0, 0); 
    $we = imagecolorallocate($img, 255, 255, 255); 
    $ro = imagecolorallocate($img, 255, 0, 0); 
    imagestring($img, 2, 320, 95, $nick, $we); 
    imagestring($img, 2, 20, 15, "Poles: ".$poles, $we); 
    imagestring($img, 2, 20, 30, "Siege: ".$win, $we);
    imagestring($img, 2, 20, 45, "Punkte: ".$points, $we);
    imagestring($img, 2, 20, 80, "Position: ".$posi, $ro);

    imagepng($img);
    imagedestroy($img);
    }
?>
 
Probier mal Folgendes:
PHP:
<?php

	include 'config.php';

	if( !isset($_REQUEST['name']) || empty($_REQUEST['name']) ) {
		header($_SERVER['SERVER_PROTOCOL'].' 412 Precondition Failed', true);
		exit;
	}

	$conn_id = mysql_connect($host, $user, $pw);
	mysql_select_db($database, $conn_id);
	$query = '
		SELECT
		        `car`,
		        `name`,
		        `points`,
		        `poles`,
		        `win`,
		        `posi`
		  FROM
		        `'.mysql_real_escape_string($table).'`
		  WHERE
		        `name` LIKE "'.mysql_real_escape_string($_REQUEST['name']).'"
		  LIMIT
		        1
		';
	$result = mysql_query($query)
		// Nachfolgendes zur einfachen Fehlerdiagnose
		or die(mysql_error());

	if( mysql_num_rows($result) != 1 ) {
		header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true);
		exit;
	}

	$row = mysql_fetch_assoc($result);
	$im = imagecreatefrompng($row['car'].'.png');
	$white = imagecolorallocate($im, 255, 255, 255);
	imagestring($im, 4, 320, 95, $row['name'], $white);
	imagestring($im, 4, 20, 15, 'Poles: '.$row['poles'], $white);
	imagestring($im, 4, 20, 30, 'Siege: '.$row['win'], $white);
	imagestring($im, 4, 20, 45, 'Punkte: '.$row['points'], $white);
	imagestring($im, 4, 20, 80, 'Position: '.$row['posi'], $white);

	header('Content-Type: image/png');
	imagepng($im);
	imagedestroy($im);

?>
 
Also jetzt kam wieder Die Seite " Seite wurde nicht gefunden "

dann habe ich aktualisiert und es kam die Seite, wo die ganzen Fehler kamen mit Failed to open stream etc.

und dann nochmal aktualisiert und es kam die leere Weiße Seite.
 
Mein Fehler, die Datenbankabfrage war falsch aufgebaut. Ich hab meinen vorherigen Beitrag entsprechend geändert. Probier es nun noch einmal.
 
Zurück