Problem mit CGI.PM
Steffen
- cgi
Hallo zusammen,
ich habe ein Problem bei meinen Skripten. Ich habe mir die Perldoc's von cgi.pm angesehn und möchte die Funktionen dieses Moduls nutzen, was ja eigendlich auch nicht so schwierig ist.
Nur habe ich beim einbinden von Grafiken das Problem, das der HTML-Code für das IMG-Tag innerhalb von Tabellenzellen nicht sauber erzeugt wird.
Beispiel:
01 use CGI qw/:standard/;
02 $bild = img{src=>'images/bild.gif'};
03 print
04 header(),
05 start_html(-title=>'Testseite'), "\n",
07 img{src=>'images/bild.gif'}, "\n",
08 center(
09 table({border=>0, cellspacing=>0, cellpadding=>0}, "\n",
10 TR(th(img{src=>'images/bild.gif'})), "\n",
11 TR(td($bild)), "\n",
12 )),
13 end_html;
In Zeile 07 wird der Img-Tag richtig erzeugt, aber in den Zeilen 10 und 11 wird mir der Img-Tag immer mit einem Slash am Ende ausgegeben.
Beispiel: <img scr="images/bild.gif" />
Woran kann das liegen, was mache ich da falsch?
Danke für Eure Hilfe.
hi!
In Zeile 07 wird der Img-Tag richtig erzeugt, aber in den Zeilen 10
und 11 wird mir der Img-Tag immer mit einem Slash am Ende
ausgegeben. Beispiel: <img scr="images/bild.gif" />
Das ist kein Fehler. Das ausgegebene HTML-Dokument ist XHTML 1.0-
kompatibel. Darin ist HTML als XML-Anwendung definiert, und dort muss
jedes Tag abgeschlossen werden, zb. so: <tag>...</tag>. Wenn innerhalb
des Tags kein Inhalt mehr steht, wird es mit einem Slash vor der
schließenden spitzen Klammer abgeschlossen, so nämlich: <tag />.
Also alles in Ordnung...
bye, Frank!
Hi,
Also alles in Ordnung...
fast, oder? In Zeile 07 wird das <img>-Tag ja ohne das Slash ausgegeben...
*grübel*
Viele Grüsse
Achim
hi!
Also alles in Ordnung...
fast, oder? In Zeile 07 wird das <img>-Tag ja ohne das Slash
ausgegeben...
Nein, das habe ich einfach mal geflissentlich übergangen... ;) In
Wirklichkeit kommt das hier raus:
=== cut ===
Content-Type: text/html; charset=ISO-8859-1
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head><title>Testseite</title>
</head><body>
<img src="images/bild.gif">
<center><table cellpadding="0" border="0" cellspacing="0">
<tr><th><img src="images/bild.gif" /></th></tr>
<tr><td><img src="images/bild.gif" /></td></tr>
</table></center> </body></html></img>
=== cut ===
Irgendwie sieht das immer noch komisch aus, aber das <img>-Tag wird
ganz am Ende geschlossen mit einem </img>. Woran das liegt, dass es
immer noch falsch ist, darüber will ich um die Uhrzeit nicht mehr
nachdenken.
Jedenfalls wollte ich vorher auch eigentlich nur darauf hinweisen,
dass <img ... /> eben nicht falsch ist... ;)
bye, Frank!
Danke Frank,
habe das Abschluß Tag ganz am Ende des des Quelltextes gar nicht bemerkt. Das heißt also, ich kann das Slash ignorieren und brauch im Skript nichts zu ändern.
...irgendwie stimmt dann aber die Perldoc zu cgi.pm nicht, aber egal Hauptsache es geht.
cYa Steffen