Der Martin: Kommentrfelder

Beitrag lesen

Moin,

echo "<table border="0"><tr><th><p><u><b>Geschrieben von:</th></b></u><th>".$row['nickname']</th></tr>;
         echo "<br><u><b><tr><th>Kommentar:</th></b></u><th>".$row['text']."</th></tr></table><br><br></p>";

das hier erzeugte HTML ist von der Struktur her grob falsch. Selbst wenn die Stringbegrenzer und die eingesetzten Variablen richtig wären, ergibt sich immer noch folgende Struktur:

<table>
 <tr>
  <th><p><u><b>TEXT</th></b></u>
  <th>TEXT</th>
 </tr>
 <br><u><b>
 <tr>
  <th>TEXT</th>
  </b></u>
  <th>TEXT</th>
 </tr>
</table>
<br><br></p>

In der ersten Zelle ist die Schachtelung der Elemente unzulässig, und weiter unten stehen auch verlorene Tags mitten in der Tabelle - teils innerhalb, teils außerhalb eines tr, aber auf jeden Fall an einer Stelle, wo sie nichts zu suchen haben. Ebenso falsch ist das schließende </p>, das ganz unvermittelt am Ende der Tabelle auftaucht und kein öffnendes Gegenstück hat. Validiere deinen HTML-Code!!

Ganz abgesehen davon sehe ich keinen Grund, <b> oder <u> zu verwenden, für solche Sachen gibt es doch CSS. Dasselbe gilt für die br-Elemente, die mir verdächtig nach Abstandshaltern aussehen. Das ist Sache von CSS.
Auch der Einsatz einer Tabelle ist hier schon grenzwertig, aber IMHO noch vertretbar. Eine Definitionsliste wäre aber genauso passend, vielleicht sogar passender.

So long,
 Martin

--
Einer aktuellen Erhebung zufolge sind zehn von neun Ehefrauen eifersüchtig auf ihren Mann.