|
|
Hallöchen ihr alle
Ich schreibe gerade eine Webseite in XHTML 1.1 und dachte mir, mal gucken was ich für Fehler drin habe neben zwei Tippfehlern ist mir das hier aufgefallen:
Fehler: input ist an dieser Stelle nicht erlaubt. Es fehlt ein `ins`, `del`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`, `div`, `address`, `fieldset` Tag. Im Quellcode zur Zeile 108 Fehlerstelle: <form action="save.php" method="post"><input type="hidden" name="LoginID" va
Bei diesem Fehler habe ich nicht schlecht geguckt... Denn erstens sendet der Server von alleine ein verstecktes Session Feld und zum Anderen das das hier zu einem Fehler führt.
Denn es steht da ja „input ist an dieser Stelle nicht erlaubt. Es fehlt ein [...], `fieldset` Tag.“ aber es ist in einem meiner Meinung nach siehe Code schnipsel:
<fieldset> <legend>Login</legend> <form action="login.php" method="post" class="Login"><input type="hidden" name="PHP_SESSION" value="..." /> <table> <tr> <td>Benutzer:</td> <td><input type="text" name="user" /></td> </tr> <tr> <td>Passwort:</td> <td><input type="password" name="pass" /></td> </tr> </table> <input type="submit" value="Login" /> </form> </fieldset>
Das letze input kann ich noch mit einem P-Tag umschließen, aber dennoch sehe ich das nicht wirklich vom verständnis her als Fehler an.
Bitte um Feedback =)
|
|
| 10.02.2006 14:37:53 |
|
dkdenz
Administrator
Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
|
|
Das form sollte eigentlich ausserhalb von fieldset stehen. Dann klappt's auch mit der Validierung ;-)
Code:
<form action="login.php" method="post" class="Login">
<fieldset>
<legend>Login</legend>
<input type="hidden" name="PHP_SESSION" value="..." />
<table>
<tr>
<td>Benutzer:</td>
<td><input type="text" name="user" /></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="pass" /></td>
</tr>
</table>
<input type="submit" value="Login" />
</fieldset>
</form> |
_______________________________________ Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol
|
|
| 10.02.2006 19:22:20 |
| http://dkmd.de | http://dkdenz.de |
Zitieren |
|
|
|
danke für den tipp
dann füt mir aber wieder php automatisch das hiddenfehlt hinzu welches an einer ungültigen stelle steht. was kann man dagegen machen?
Den Hinweise „Das XHTML 1.1-Dokument wurde mit dem MIME-Type "text/html" ausgeliefert, was jedoch nicht empfohlen wird“ finde ich persöhnlich nicht so toll, da man dann die Hintergrundfarbe auf das html-tag beziehen muss, statt dem body tag (Firefox 1.5), sowie das die Seite erst gar nicht mehr im Internet Explorer (7) angezeigt wird.
|
|
| 10.02.2006 20:17:07 |
|
dkdenz
Administrator
Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
|
|
Gern geschehen... Was das php-Problem angeht, kann man dazu nix sagen, ohne den Code, bzw. die Art und Weise zu kennen, wie das hiddenfield dort eingtragen wird. Eigentlich müsste sich das doch gezielt manipulieren lassen.
_______________________________________ Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol
|
|
| 11.02.2006 09:49:19 |
| http://dkmd.de | http://dkdenz.de |
Zitieren |
|
Validome
Administrator
Registriert: 04.04.2005
Beiträge: 313
|
|
Hallo, „Das XHTML 1.1-Dokument wurde mit dem MIME-Type "text/html" ausgeliefert, was jedoch nicht empfohlen wird“ So steht es nun mal in der Spezifikation, ob damit ein Browser Probleme hat ist dem (praxisfremden) W3C anscheinend egal.
Zum PHP Problem: Wenn Sie mit Sessions arbeiten trägt PHP automatisch ein Hidden-Feld mit der Session-ID hinter das form-Tag ein, was bei XHTML 1.1 nicht erlaubt ist. Ich habe es noch nicht probiert, aber es müsste klappen, wenn Sie selber dieses Feld an der erlaubten Stelle einfügen. Das müsste PHP „sehen“ und dürfte dieses Feld nicht mehr einbauen. Evt. hilft es auch das Formular auf method=“get“ zu ändern.
Mit freundlichen Grüßen Thomas Mell
|
|
| 11.02.2006 13:14:36 |
|
Gemini
Mitglied
Registriert: 27.10.2006
Beiträge: 1
|
|
Validome schrieb:
Zum PHP Problem: Wenn Sie mit Sessions arbeiten trägt PHP automatisch ein Hidden-Feld mit der Session-ID hinter das form-Tag ein, was bei XHTML 1.1 nicht erlaubt ist. Ich habe es noch nicht probiert, aber es müsste klappen, wenn Sie selber dieses Feld an der erlaubten Stelle einfügen. Das müsste PHP „sehen“ und dürfte dieses Feld nicht mehr einbauen. Evt. hilft es auch das Formular auf method=“get“ zu ändern.
Mit freundlichen Grüßen Thomas Mell |
Hallo,
ich habe exakt das gleiche Problem. Das manuellle Einfügen des Feldes und auch das Ändern der Methode auf "get" half jedoch nicht.
Es wir übrigens auch nicht unter XHTML 1.0 validiert.
Was kann man da tun ? Ist sicher ein häufiges Problem.
Würde mich über eine Antwort freuen.
|
|
| 27.10.2006 09:12:17 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|