WWW Validator meldet "falschen" Fehler

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
hallo zusammen,

ich habe ein Problem mit dem WWW-Validator.

Es wird folgender Fehler gemeldet:
Line 56, column 113: end tag for element "A" which is not open

...height="31" width="88" border="0"></a>



The Validator found an end tag for the above element, but that element is not currently open. This is often caused by a leftover end tag from an element that was removed during editing, or by an implicitly closed element (if you have an error related to an element being used where it is not allowed, this is almost certainly the case). In the latter case this error will disappear as soon as you fix the original problem.


If this error occured in a script section of your document, you should probably read this FAQ entry.

Der zugehöhrige Quelltext sieht so aus:
<a href=http://jigsaw.w3.org/css-validator/validator?uri=http://maceis.shellmaster.de/guestbook/index.php>
<img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" border="0"></a>

Das Ganze wird mit php erzeugt.
Wenn ich das bemängelte "</a>"-Tag wegmache, wird der Link "verlängert", und nachfolgende php-Teile werden nicht richtig ausgeführt.
Der Fehler tritt kurz vorher noch einmal genauso auf.
Da kann ich aber das schließende </a>"-Tag entfernen, weil der Link dann durch das hier gezeigte öffnende <a href=http://jigsaw ... >"-Tag beendet wird.

Hat jemand eine Idee, woran das liegen könnte
 
Da hat wohl der Validator etwas, ich komme jedenfalls auch nicht auf den Fehler :confused:

Welchen Validator hast du verwendet den W3C ?
Der gibt den gleichen Fehler, auch wenn ich nur ein Beispiel von einem Link aus selfhtml probiere, komisch :confused:
 
Ich verwende den http://www.w3.org-Validator.
Der Fehler tritt erst auf seit ich den Validierungslinkt per php-Skript mit der aktuellen Seite füttere, und zwar so:
PHP:
3 <?php
4 echo "<a href=http://validator.w3.org/check?uri=http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"].">";
5     ?>
6     <img border="0" src="http://www.w3.org/Icons/valid-html40" alt="Valid HTML 4.0!" height="31" width="88"><!/a>
7 
8 <?php
9 echo  "<a href=http://jigsaw.w3.org/css-validator/validator?uri=http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"].">";
10     ?>
11 
12 <img  src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" border="0"></a>
Man sieht hier auch, wie ich am Ende von Zeile 6 den eigentlich richtigen </a>.Tag auskommentiert habe, damit wenigstens hier kein Fehler gemeldet wird.
So lange in Zeile 4 und Zeile 6 die uris statisch eingetragen werden (ohne php) gibt es bei ansonsten gleicher Syntax keinen Fehler.
 
Versuche mal am Ende des Img-Tags folgendes Coding:

border="0" />

Und poste bitte, ob es das war ...
 
Danke für den Tip, hat aber leider nichts gebracht.
 
hallo zusammen,

ich konnte das Problem jetzt lösen.

Ich habe den php-Code so geändert, dass der Linktext in Anführungszeichen steht.
zwei Lösungsmöglichkeiten:
PHP:
4 <a href="http://validator.w3.org/check?uri=http://<?php echo "$_SERVER[HTTP_HOST]$_SERVER[PHP_SELF]";?>">
5 <img border="0" src="http://www.w3.org/Icons/valid-html40" alt="Valid HTML 4.0!"height="31" width="88"></a>

6 
7 <?php
8 echo  "<a href=\"http://jigsaw.w3.org/css-validator/validator?uri=http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]."\">";
10 
11<img  src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" border="0"></a>

Der Validator arbeitet IMHO insofern nicht korrekt, als er einen anderen Fehler hätte melden müssen (nur numerische Angaben ohne Anführungszeichen zulässig oder so ähnlich)
 
Zuletzt bearbeitet:
Original geschrieben von maceis
<a href=http://jigsaw.w3.org/css-validator/validator?uri=http://maceis.shellmaster.de/guestbook/index.php>
<img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" border="0"></a>
&nbsp;

In XHTML ist es so, dass jedes Attribut - also auch der Link - in Anführungsstrichen stehen muss.

Probier mal das:

<a href="http://jigsaw.w3.org/css-validator/validator?uri=http://maceis.shellmaster.de/guestbook/index.php">
<img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" border="0"></a>

Griaßle
 
hallo mys,

Danke Dir, aber ich habe schon die Lösung (s. o.).
Ich wollte ja eine php-Skript, dass auf allen Seiten eingebunden werden kann und jeweils die aktuelle Seite validiert, wenn man auf den Link klickt.
Zuerst hatte ich ein wenig mit den Anführungszeichen "gemogelt".
Ist außerdem normales html und kein xhtml ;)
 
Danke, aber jetzt hab ich´s schon ;)
Und irgendwie ist das doch wie mit der Marmelade, oder ?
 
Zurück
Oben Unten