euroexchange.de hat geschrieben:Die Validierung sieht schon wesentlich besser aus, trotz der Restfehler wie:
</a> soll ein Fehler sein und lauter solche Sachen :-(
Nein, der Fehler tritt zwar an der Stelle des </a> auf, Ursache ist aber, wie in der Fehlermeldung beschrieben, das <img>-Element davor:
Error Line 144, Column 177: end tag for "img" omitted, but OMITTAG NO was specified.
…de/c.php?show=today&ID=13075
"></a>
Wie schon gesagt, verwendest du HTML-Syntax in einem XHTML-Dokument. Du müsstest statt <img> <img /> schreiben - oder den Dokumenttyp in HTML 4 Strict ändern, das ist genauso gut.
Von dieser Sorte hast du noch ein paar.
Error Line 245, Column 25: document type does not allow element "h1" here.
<p align="justify"><h1>Gratis Inserat - kostenlose Kleinanzeigen
<h1> darf nicht in <p>-Absätzen stehen. Verschiebe einfach die <h1>- und die folgende <h3>-Überschrift vor den <p>-Absatz.
Von dieser Sorte hast einen weiteren in Zeile 1560, <hr>. Beim <p>-Fehler in Zeile 1562, der auch in diese Kategorie eingeordnet wurde, tippe ich eher auf nicht richtig verschachtelte oder nicht geschlossene Elemente.
Error Line 1431, Column 15: there is no attribute "background" .
<td background="./catimages/back11.jpg">
Benutze CSS: <td style="background-image:url(./catimages/back11.jpg)">. Ebenfalls noch ein oder zwei mehr.
Error Line 1443, Column 37: end tag for "b" omitted, but OMITTAG NO was specified .
<b>Beratung - Planung - Pro...</small>
Verschachtele die Elemente korrekt, d.h. <small><b></b></small>, nicht <small><b></small></b>.
In Zeile
1572 ist dir noch ein Und entwischt.
Ein Tipp am Rande, da du sicher vieles mittels PHP ausgibst, einschließlich der URLs und Kategorienamen: Filtere Ausgaben
immer durch
htmlspecialchars(), es sei denn, du willst tatsächlich HTML-Code ausgeben. Du vermeidest damit nicht nur die lästigen &, die dir diese 500 Fehlermeldungen eingebrockt haben, sondern auch, dass dir irgendwer in seiner Kleinanzeige HTML-Code unterschiebt (und damit auch Javascript-Code zum Ergaunern von Passwörtern oder Verteilen von Viren).
Statt echo direkt anzusteuern, benutze ich immer eine eigene Funktion à la
function fecho($s) { echo htmlspecialchars($s); }. Spart lästige Tipperei.
Der Rest deiner Fehler besteht, soweit ich nichts übersehen habe, nur aus Folgefehlern, die mit der Behebung oben genannter von alleine verschwinden sollten. Danach müsste der Code dementsprechend vollständig fehlerfrei sein.
Ich weiß ja nun nicht, wie lange du jetzt für die Korrekturen gebraucht hast, aber das war doch gar nicht so wild, oder? :)