Hallo,
für eine Intranet-Applikation zur Pflege einer DB habe folgendes gemacht:
echo "<td id="table_data" default="'.$value['englisch'].'">".$value['deutsch']."</td>";
über mögliche Nebenwirkungen beim Einsatz von Phantasieattributen bist du dir im Klaren? Dass das Dokument nicht valide ist, wäre zunächst die formale Nebenwirkung - das ermächtigt den Browser aber auch, nach eigenem Ermessen zu "korrigieren".
Beispielsweise kannst du dich nicht darauf verlassen, dass diese ungültigen Attribute auch mit Javascript aus dem DOM gelesen und verarbeitet werden können.
$value['deutsch'] = "";
$value['englisch'] = "<value>";
echo "<td id="table_data" default="'.$value['englisch'].'">".$value['deutsch']."</td>";
>
> ... führt dazu, dass garnichts angezeigt wird.
Dann machst du was falsch, und zwar bei den Einstellungen fürs Debugging. Lass dir bitte die PHP-Fehlermeldungen auch anzeigen! Das obige echo müsste einen Parse Error auslösen. Achte auf deine String-Begrenzerzeichen und maskiere sie, wo nötig!
Angenommen, der PHP-Syntaxfehler wäre behoben, dann würde diese Anweisung ungültiges HTML erzeugen:
<td id="table\_data" default="<value>">
Das '<' muss als < codiert werden, wenn es nicht in seiner Bedeutung als SGML-Tagbegrenzer gemeint ist.
> echo "<td id="table\_data" default="'.$value['englisch'].'">".$value['deutsch']."</td>";[/code]
> ... führt auch dazu dass garnichts angezeigt wird.
Weil derselbe PHP-Syntaxfehler drinsteckt. Ansonsten wäre das die korrekte Form.
So long,
Martin
--
"Drogen machen gleichgültig."
- "Na und? Mir doch egal."