-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Wednesday 02 January 2002 16:39, Peter Zabelt wrote:
Hallo Leute!
Ich habe mir mal eine Bilddatenbank mit dem LAMP-System gebastelt. Ich kann Bilder und Text mit einem php-Script prima uploaden. Ebenfalls habe ich ein Script, das mir die Bilder über " ...php?id=x" an den Browser ausgibt. Nun möchte ich aber gern über (oder unter) das Bild meine zum Bild gehörigen (und in mysql abgespeicherten) Texteinträge mit anzeigen. Da aber vor der Bildausgabe ein
header ("Content-type: jpeg")
steht (o.ä.!), schlägt jede nachfolgende Textausgabe fehl, da Text nun mal nicht jpeg ist, klar. Wie kann ich aber mein Problem lösen? (Möglichst nicht unbedingt mit temporären Dateien!).
Du brauchst entweder 2 Skripte oder eines mit unterschiedlichen Reaktionen auf unterschiedliche Daten. Ich mach mal mit 2, ist einfacher:
http://meinserver/bildtext.php?id=5 gibt Dir eine HTML-Seite mit dem Text und einem Link zu Bild 5, also etwa so:
<html> <?php //daten fuer Bild 5 holen print("<title>Bild Nr. ".$id."</title>\n<body>"); print("<img src=\"bild.php?id=".$id."\"><p>\n"); print($bildtext); ?> </html>
das zweite verbirgt sich, wie man unschwer erkennen kann, hinter bild.php und macht exakt das, was Dein jetziges Skript macht: es gibt das Bild aus, das in $id uebergeben wird. Damit brauchst Du auch keine temporaere Datei.
Warnung: bei dieser Technik (und den meisten anderen) sollte man unbedingt in _allen_ Skripten die Zugriffsrechte des Clients pruefen (soweit Rechteverwaltung verwendet wird), weil man sonst die Skripte recht einfach austricksen kann. Merke: vertraue niemals auf die Daten, die Du vom Browser bekommst, auch wenn Du glaubst sie ihm selbst gegeben zu haben.
Konrad
- -- BOFH excuse #331:
those damn racoons!