# Bräuchte mal bitte einen Tipp um Valid Fehler zu finden?



## Shorty1968 (17. Juni 2012)

Hallo ich mache gerade meine Seite Valid,aber ich habe einen Fehler da weiß ich nicht wie ich den finden kann,dazu benötige ich Fachmännischen Rat?

http://www.validome.org/validate/?uri=http://www.phpbb-service.de

Ich habe schon alle Datein die in Betracht kommen nach *</table>* abgesucht,aber in allen gab es ein Anfang Tag und ein End Tag,wie finde ich nun raus wo der Fehler behoben werden kann?


----------



## sheel (17. Juni 2012)

Hi

hier ein gründlicherer Validator: http://validator.w3.org

(Ich glaube) Ein table, dass zwar ein thead aber kein tbody hat, ist nicht erlaubt.
(Eine solche table gibts).
Wenn man ein tbody (mit tr/td) dazutut verschwinden die ganzen Not-closed-Meldungen.
(Ob tr/td auch unbedingt nötig sind hab ich jetzt nicht probiert)

Es bleiben zwar ein paar andere Meldungen,
die aber hauptsächlich wegen fehlenden Leerzeichen sind.

Gruß


----------



## Shorty1968 (17. Juni 2012)

Hallo

Irgendwas stimmt da nicht die Fehler die der mir meldet habe ich in dem anderen schon behoben,es kann ja nicht sein das diese mit einemal wider da sind?


----------



## sheel (17. Juni 2012)

Ich weiß zwar nicht, was du schon behoben hast, aber vermutlich sind es andere Fehler
(bzw. gleiche Art, aber andere Stelle)?

Deswegen mein ich auch, er ist "gründlicher", weil er Fehler zeigt,
die beim Ersten gar nicht auftauchen.

Und was standardkonforme Sachen angeht verlass ich mich lieber auf das W3C statt auf Dritte.


----------



## Shorty1968 (18. Juni 2012)

Kann es aber auch sein das der einen anderen Style nimmt,also z.b. habe ich in dem Anderen mit dem Standartstyle die Fehler behoben und in deinem hatte ich den Style gewechselt?


----------



## Parantatatam (18. Juni 2012)

Mal so am Rand: wird der Quelltext bei dem von dir verwendeten CMS immer so generiert? Das ist wirklich grauenvoll.


----------



## Shorty1968 (18. Juni 2012)

Wie wird er den generiert?

Bei mir sieht er im Firefox normal aus?


----------



## Parantatatam (18. Juni 2012)

Ich meinte nicht, wie die Webseite aussieht, sondern wie der Quelltext aussieht.


----------



## Shorty1968 (18. Juni 2012)

Ich weiss das geht doch so Rechts Klick/Seitenquelltext anzeigen oder?

Dann Öffnet sich ein neues Fenster mit dem Quelltext.


----------



## hela (18. Juni 2012)

Shorty1968 hat gesagt.:


> Ich weiss das geht doch so Rechts Klick/Seitenquelltext anzeigen oder?
> Dann Öffnet sich ein neues Fenster mit dem Quelltext.


Genau, dann sieht man z.B. in Zeile 332 bis 344 folgendes:

```
...
    </div><div class="forabg">
	<div class="inner"><span class="corners-top"><span></span></span>
	<table class="table1" cellspacing="1" id="top_five">
		<thead>
		<tr>
			<th style="width: 50%;">Top5 des PHPBB-Service</th>
		</tr>
		</thead>
	</table>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="forabg">
	<div class="inner"><span class="corners-top"><span></span></span>
   ... <!-- usw.usf. -->
```
Die Tabelle ist unvollständig (sagt auch der Validator), da sie nur einen optionalen Tabellenkopf und keinen Tabellenkörper (TBODY) enthält. Das ist vermutlich ein Fehler beim HTML-Generieren: Da es offensichtlich noch keine "Top5 des PHPBB-Service" gibt, wird der leere Tabellenkörper einfach weggelassen.

Abgesehen davon sind im oben gezeigten Quelltext die End-Tags der SPAN-Elemente doppelt vorhanden.



			
				Shorty1968 hat gesagt.:
			
		

> Kann es aber auch sein das der einen anderen Style nimmt,also z.b. habe ich in dem Anderen mit dem Standartstyle die Fehler behoben und in deinem hatte ich den Style gewechselt?



Dein *Markup* ist nicht regelkonform (XHTML 1.0 *Strict*). Das hat mit dem Style erstmal nichts zu tun.


----------



## Shorty1968 (18. Juni 2012)

hela hat gesagt.:


> Dein *Markup* ist nicht regelkonform (XHTML 1.0 *Strict*). Das hat mit dem Style erstmal nichts zu tun.


Was genau bedeutet Makup?

Das hatte ich auch gesehen und hatte es durch das TBODY ergenzt,aber das brachte nichts.

Es gibt eine Top5 des PHPBB-Service auf der index seite.


----------



## sheel (18. Juni 2012)

Shorty1968 hat gesagt.:


> Was genau bedeutet Makup?



Hypertext *Markup* Language
Kurz _HTML_

Hast du auch eine Row und eine Zelle reingetan?
Welchen Validator hast du verwendet?


----------



## Shorty1968 (18. Juni 2012)

Wie würde so ein ROW aussehen?

Ich verwende bei.


----------



## sheel (18. Juni 2012)

Du verwendest bei...ja?

Und eine Tabellenzeile = Table row = <tr> solltest du kennen.
Und in jeder Zeile sind mehrere Zellen: <td>


```
<table>
    <thead>
        ...
    </thead>
    <tbody>
        <tr>
            <td>testinhalt, kann gelöscht werden, wenn der Vali-Fehler weg ist</td>
        </tr>
    </tbody>
</table>
```


----------



## Shorty1968 (18. Juni 2012)

Ups sorry schreibfehler,ich verwende zur Kontrolle beide.

*<tr><td>* ist mir bekannt und darin ja schon enthalten?


----------



## sheel (18. Juni 2012)

Das ist aus den bisherigen Beiträgen nicht hervorgegangen.

Irgendwas passt trotzdem noch nicht.
Bei mir waren die ganzen Not-Closed-Fehler sofort weg, mit dem tbody/tr/td...

Zeig mal deine aktuelle Version (oder ist sie vllt. online)?


----------



## Shorty1968 (18. Juni 2012)

sheel hat gesagt.:


> Das ist aus den bisherigen Beiträgen nicht hervorgegangen.



In deinem Quellcode Teil den du gepostet hast sind die *<tr><td>* aber doch zu sehen,oder verstehe ich da nun etwas nicht?

Zeige mal bitte den Code der dir die fehlermeldung dann weg gemacht hat?

Das Projekt ist online und hier zufinden

http://www.phpbb-service.de/portal.php


----------



## sheel (18. Juni 2012)

Mein Code sollte ein Beispiel sein, was drin sien muss.
Ob du das auch so gemacht hast ist mir noch immer nicht ganz klar.

Und genau dieses tbody-Stück mit Inhalt hat den Fehler weggemacht.
Bei der einen table, die kein tbody hat (erste table im Quelltext).

Und um welche Seite gehts jetzt eigentlich?
http://www.phpbb-service.de/
oder
http://www.phpbb-service.de/portal.php
?


----------



## Shorty1968 (18. Juni 2012)

Es geht um alle seiten,soll ja richtig gemacht werden.

Hier mal der inhalt der Datei um die es hier geht,wie ich gerade sehe ist darin ein *<tr><th>*,kann das der Fehler sein?

```
<div class="inner"><span class="corners-top"></span>
         	<div class="top">
            <div class="tl">&nbsp;</div>
            <div class="tr">&nbsp;</div>
            <div class="tm">&nbsp;</div>
         </div>
         <div class="ml">
         <div class="mr">
         <div class="mm">
         <div class="forabg">
	<div class="inner"><span class="corners-top"></span>
	<table class="table1" cellspacing="1" id="top_five">
		<thead>
		<tr>
			<th style="width: 50%;">Top5 des PHPBB-Service</th>
		</tr>
		</thead>
	</table>
<span class="corners-bottom"></span></div>
</div>
<div class="forabg">
	<div class="inner"><span class="corners-top"></span>
		<table class="table1" cellspacing="1" title="top_five">
		<thead>
		<tr>
			<th style="width: 50%;">{L_NEWEST_TOPICS}</th>
			<th style="width: 20%;">{L_TOP_FIVE_ACTIVE}</th>
			<th style="width: 30%;">{L_TOP_FIVE_NEWEST}</th>
		</tr>
		</thead>
		<tbody>
			<tr class="bg2">
					<td valign="top"><!-- BEGIN top_five_topic --><!-- IF top_five_topic.NO_TOPIC_TITLE-->{top_five_topic.NO_TOPIC_TITLE}<!-- ELSE --><a href="{top_five_topic.U_TOPIC}">{top_five_topic.TOPIC_TITLE}</a><br />&nbsp;&nbsp;{top_five_topic.USERNAME_FULL}&nbsp;&nbsp;{top_five_topic.LAST_TOPIC_TIME}<br /><!-- ENDIF --><!-- END top_five_topic --></td>
					<td valign="top"><!-- BEGIN top_five_active -->{top_five_active.USERNAME_FULL}<br />&nbsp;&nbsp;{L_POSTS}: <a href="{top_five_active.S_SEARCH_ACTION}">{top_five_active.POSTS}</a><br /><!-- END top_five_active --></td>
					<td valign="top"><!-- BEGIN top_five_newest -->{top_five_newest.USERNAME_FULL}<br />&nbsp;&nbsp;{L_JOINED}: {top_five_newest.REG_DATE}<br /><!-- END top_five_newest --></td>
				</tr>
		</tbody>
		</table>

	<span class="corners-bottom"></span></div>
</div>
         </div>
         </div>
         </div>
         <div class="bottom">
            <div class="bl">&nbsp;</div>
            <div class="br">&nbsp;</div>
            <div class="bm">&nbsp;</div>
         </div>
         <span class="corners-bottom"></span></div>
```


----------



## sheel (18. Juni 2012)

Nochmal: Wie hela auch bestätigt hat darf eine table mit thead nicht ohne tbody sein.
Das thead selbst ist _kein_ Problem. Aber es reicht allein nicht.


----------



## Shorty1968 (18. Juni 2012)

Ok das habe ich ja verstanden,aber selbst wenn ich den Code ändere,so das das *<tbody>* enthalten ist bleiben die Fehler?

Hier mal der Code der Jetzt drinne ist:

```
<div class="inner"><span class="corners-top"></span>
         	<div class="top">
            <div class="tl">&nbsp;</div>
            <div class="tr">&nbsp;</div>
            <div class="tm">&nbsp;</div>
         </div>
         <div class="ml">
         <div class="mr">
         <div class="mm">
         <div class="forabg">
	<div class="inner"><span class="corners-top"></span>
	<table class="table1" cellspacing="1" id="top_five">
		<thead>
		<tbody>
		<tr>
			<th style="width: 50%;">Top5 des PHPBB-Service</th>
		</tr>
		</tbody>
		</thead>
	</table>
<span class="corners-bottom"></span></div>
</div>
<div class="forabg">
	<div class="inner"><span class="corners-top"></span>
		<table class="table1" cellspacing="1" title="top_five">
		<thead>
		<tbody>
		<tr>
			<th style="width: 50%;">{L_NEWEST_TOPICS}</th>
			<th style="width: 20%;">{L_TOP_FIVE_ACTIVE}</th>
			<th style="width: 30%;">{L_TOP_FIVE_NEWEST}</th>
		</tr>
		</tbody>
		</thead>
		<thead>
		<tbody>
			<tr class="bg2">
					<td valign="top"><!-- BEGIN top_five_topic --><!-- IF top_five_topic.NO_TOPIC_TITLE-->{top_five_topic.NO_TOPIC_TITLE}<!-- ELSE --><a href="{top_five_topic.U_TOPIC}">{top_five_topic.TOPIC_TITLE}</a><br />&nbsp;&nbsp;{top_five_topic.USERNAME_FULL}&nbsp;&nbsp;{top_five_topic.LAST_TOPIC_TIME}<br /><!-- ENDIF --><!-- END top_five_topic --></td>
					<td valign="top"><!-- BEGIN top_five_active -->{top_five_active.USERNAME_FULL}<br />&nbsp;&nbsp;{L_POSTS}: <a href="{top_five_active.S_SEARCH_ACTION}">{top_five_active.POSTS}</a><br /><!-- END top_five_active --></td>
					<td valign="top"><!-- BEGIN top_five_newest -->{top_five_newest.USERNAME_FULL}<br />&nbsp;&nbsp;{L_JOINED}: {top_five_newest.REG_DATE}<br /><!-- END top_five_newest --></td>
				</tr>
		</tbody>
		</thead>
		</table>

	<span class="corners-bottom"></span></div>
</div>
         </div>
         </div>
         </div>
         <div class="bottom">
            <div class="bl">&nbsp;</div>
            <div class="br">&nbsp;</div>
            <div class="bm">&nbsp;</div>
         </div>
         <span class="corners-bottom"></span></div>
```
auch wenn ich das *<th* in *td* ändere,bleiben die Fehler?


----------



## Parantatatam (18. Juni 2012)

Ließ dir doch mal bitte die DTDs durch! Und selbst vom Namen her müsstest du erkennen, dass das Unsinn ist, denn Head <> Body!

```
<table>
  <thead>
    <tr>
      <td></td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td></td>
    </tr>
  </tbody>
</table>
```


----------



## Shorty1968 (18. Juni 2012)

DTD's?
Sorry ich verstehe nicht was ist unsinn,so wie ich die <tbodys> gesetzt habe oder?

Sorry ich kenne mich noch nicht so gut mit html aus.


----------



## sheel (18. Juni 2012)

Ja, das ist Unsinn.

Ich versteh nur nicht, wo das Problem ist, einfach unsere Beispiele anzuschauen und reinzukopieren.
Den Unterschied von deinem und dem hier erkennt man doch:
tbody gehört nicht in thead rein, sondern danach.
Schau dir mal auf http://www.selfhtml.org oder Ähnlichem ein paar Beispiele an,
wie tables gemacht werden und was welche Bedeutung hat.

Außerdem ist das Ganze hier nicht das eigentliche Problem: dein CMS.
Ich vermute mal stark, dass diese tables generiert werden?
Wenn ja hilft es überhaupt nichts, für einzelne Seiten Verbesserungen zu ermitteln,
weil die Wurzel vom Ganzen bei PHP und/oder irgendwelchen Templates liegt.

Btw, eine DTD ist einfach gesagt eine Beschreibug, was wie und wo erlaubt ist.


----------



## Shorty1968 (18. Juni 2012)

mmmhhh genau so wie du es beschreiben tust steht es im Orginal Code doch drinne?

Orginal Code aus Besagter Datei:

```
<div class="inner"><span class="corners-top"><span></span>
         	<div class="top">
            <div class="tl">&nbsp;</div>
            <div class="tr">&nbsp;</div>
            <div class="tm">&nbsp;</div>
         </div>
         <div class="ml">
         <div class="mr">
         <div class="mm">
         <div class="forabg">
	<div class="inner"><span class="corners-top"><span></span>
	<table class="table1" cellspacing="1" id="top_five">
		<thead>
		<tr>
			<th style="width: 50%;">Top5 des PHPBB-Service</th>
		</tr>
		</thead>
	</table>
<span class="corners-bottom"><span></span></div>
</div>
<div class="forabg">
	<div class="inner"><span class="corners-top"><span></span>
		<table class="table1" cellspacing="1" title="top_five">
		<thead>
		<tr>
			<th style="width: 50%;">{L_NEWEST_TOPICS}</th>
			<th style="width: 20%;">{L_TOP_FIVE_ACTIVE}</th>
			<th style="width: 30%;">{L_TOP_FIVE_NEWEST}</th>
		</tr>
		</thead>
		<tbody>
			<tr class="bg2">
					<td valign="top"><!-- BEGIN top_five_topic --><!-- IF top_five_topic.NO_TOPIC_TITLE-->{top_five_topic.NO_TOPIC_TITLE}<!-- ELSE --><a href="{top_five_topic.U_TOPIC}">{top_five_topic.TOPIC_TITLE}</a><br />&nbsp;&nbsp;{top_five_topic.USERNAME_FULL}&nbsp;&nbsp;{top_five_topic.LAST_TOPIC_TIME}<br /><!-- ENDIF --><!-- END top_five_topic --></td>
					<td valign="top"><!-- BEGIN top_five_active -->{top_five_active.USERNAME_FULL}<br />&nbsp;&nbsp;{L_POSTS}: <a href="{top_five_active.S_SEARCH_ACTION}">{top_five_active.POSTS}</a><br /><!-- END top_five_active --></td>
					<td valign="top"><!-- BEGIN top_five_newest -->{top_five_newest.USERNAME_FULL}<br />&nbsp;&nbsp;{L_JOINED}: {top_five_newest.REG_DATE}<br /><!-- END top_five_newest --></td>
				</tr>
		</tbody>
		</table>
```


----------



## sheel (18. Juni 2012)

Shorty1968 hat gesagt.:


> mmmhhh genau so wie du es beschreiben tust steht es im Orginal Code doch drinne?
> ...
> 
> ```
> ...


Wo ist hier tbody? 



sheel hat gesagt.:


> Nochmal: Wie hela auch bestätigt hat darf eine table mit thead nicht ohne tbody sein.
> Das thead selbst ist _kein_ Problem. Aber es reicht allein nicht.


----------



## Shorty1968 (18. Juni 2012)

A mein Gott jetzt hat ers,aber ich kann doch da kein leeres *<tbody>* rein setzen oder?

Das müsste ich dann aber.

So danke für eure hilfe,ich habe es hinbekommen der fehler ist weg und lag an Javascript Code in der overall_header.html,aber es gibt noch einen fehler der Letzte und an dem Verzweifel ich den ich finde ihn nicht als fehler steht da nur:

```
Spalte:9389Fehler:Endtag für unvollständiges Element table Fehlerstelle:</table>
```

http://www.validome.org/validate/?uri=http://www.phpbb-service.de


----------



## sheel (18. Juni 2012)

Der Validator prüft kein JS.

Und ich frage mich doch langsam, ob das wirklich so schwer ist?
Das tbody bei dieser einen Tabelle fehlt noch immer.

Und das glaub ich auch noch immer:


> Außerdem ist das Ganze hier nicht das eigentliche Problem: dein CMS.
> Ich vermute mal stark, dass diese tables generiert werden?
> Wenn ja hilft es überhaupt nichts, für einzelne Seiten Verbesserungen zu ermitteln,
> weil die Wurzel vom Ganzen bei PHP und/oder irgendwelchen Templates liegt.


----------



## Shorty1968 (20. Juni 2012)

Ihr hattet recht es lag an dem <thead><tbody> ich konnte es nun beheben und die offenen Tags waren weg.

Vielen dank für eure Hilfe.

ich habe aber nun noch eine Frage zum <br /> und zwar meckert er:

```
Spalte:7525Fehler:br ist an dieser Stelle nicht erlaubt.

                                Es befindet sich evtl. ein Block-Element innerhalb eines
                                Inline-Elements.

                                Auch verschachtelte Block-Elemente könnten diesen Fehler verursachen, da
                                Block-Elemente nicht beliebig verschachtelt werden dürfen. Dies ist abhängig
                                von den verwendeten [X]HTML-Elementen. Fehlerstelle:<br /><dd><strong>Level:</strong> 3[<img src='images/level/s_yellow.gif' alt
```
die besagte Zeile sieht so aus:

```
<br /><dd><strong>{L_LEVEL}</strong> {postrow.POSTER_LEVEL}[{postrow.POSTER_STAR}]</dd>
```
an welchen stellen ist <br /> den erlaubt und was gibt es für alternativen?


----------



## Shorty1968 (20. Dezember 2012)

Hallo ich benötige bitte noch mal beim Validieren eure hilfe, ich bekomme folgenden error:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.phpbb-service.de%2Ffeedback-con-portalunion-de-t26.html&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.3]Eroor

in der html wird das angemeckert,wie kann ich das beheben?

```
<dl class="postprofile" id="profile{postrow.POSTER_ID}">
```


----------



## tombe (20. Dezember 2012)

So wie ich das verstehe wird "angemeckert" das es IDs gibt die mehrmals vorhanden sind.


----------



## Shorty1968 (20. Dezember 2012)

Ja genau weil dieser teil:

```
profile{postrow.POSTER_ID}
```
nicht als Feste Nummer angegeben wird,sondern ausgelesen und wenn ich nun das ID davor einfach änder,weiss ich nicht ob die Funktion dann erhalten bleibt.
Weil ich auch nicht wüsste durch was ich ID ersetzen könnte um die Funktion zu erhalten.


----------



## sheel (20. Dezember 2012)

Eine ID darf im ganzen Dokument nur ein einziges Mal vorkommen.
Wieder gilt: Das ist nichts, was man schnell im HTML ausbessern kann,
sondern dein CMS hat ein Problem.
Bzw. es funktioniert, ist aber einfach schlecht. Wäre auch eine Möglichkeit...

edit: Es soll ja eben keine feste Nummer sein.


----------



## Shorty1968 (20. Dezember 2012)

Wenn sie nun mehrmals Vorkommt,wie es bei mir der Fall zu seins scheint,wie könnte ich das beheben?

Ich habe beschränkte Kenntnisse was mein CMS usw angeht,aber denoch bemühe ich mich es hin zu bekommen.


----------



## Dr Dau (23. Dezember 2012)

Hallo!

Die IDs "profile2" und "profile59" scheinen ja dynamisch eingefügt zu werden.
Beide IDs kommen, wenn ich es richtig gesehen habe, nicht in den Style-Sheets vor.
Daher sehe ich auch keinen wirklichen Sinn darin dass die IDs überhaupt eingefügt werden.
Ich würde also mal die Template-Dateien und PHP-Scripte nach der/den entsprechenden Stelle/Stellen durchstöbern und testhalber auskommentieren.

Allerdings könnten die IDs auch als Sprunganker und/oder für JavaScript verwendet werden, daher erstmal nur auskommentieren und alles ausgiebig testen (alternativ eine Sicherungskopie anlegen).

Gruss Dr Dau

*hmpf* scheinbar mag es die Forensoftware nicht mehr, wenn man JS deaktiviert hat --> Zeilenumbrüche werden "geklaut".


----------



## Shorty1968 (23. Dezember 2012)

Dr Dau hat gesagt.:


> Hallo!
> *hmpf* scheinbar mag es die Forensoftware nicht mehr, wenn man JS deaktiviert hat --> Zeilenumbrüche werden "geklaut".


Ich habe nichts geändert,was das verursachen könnte,was genau wird geklaut beim Quellcode oder?

Nein der Teil kommt in keine styleseet vor,das liegt in den templates und sieht so aus:

```
profile{postrow.POSTER_ID}
```
das gehört zu einer mod und ist sehr warscheinlich ein Anker zu Javascript,es muss ja eigentlich nur das id=" durch etwas kleichwertiges ersetzt werden,aber ich weiss nicht durch was.


----------



## sheel (23. Dezember 2012)

Es gibt nichts gleichwertiges zu einer ID.
Ohne den JS-Teil auch zu ändern wird da gar nichts gehen (wenn es einen gibt).
Und um dir dabei zu helfen müsste wir das Script kennen
bzw. den Sinn davon überhaupt mal.


----------

