Valide XHTML-Formulare mit Session-Variable

Meine Formulare auf dieser Seite wollten einfach nicht validieren.  Ich bekam permanent die folgende Fehlermeldung:

document type does not allow element "input" here; missing one of "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "fieldset" start-tag

Nach einigem Suchen habe ich dann herausgefunden, dass die Session-Variable von PHP als "input type=hidden" ins Formular eingefügt wird. Und zwar direkt hinter dem "form"-Tag. Das ist laut XHTML 1.1 Strict aber nicht zulässig, da das Block-Level-Element "input" nicht direkt im "form"-tag stehen darf. Wird im Query-String außer der Session-ID noch eine weitere Variable übertragen, kann es auch wegen des nicht maskierten "&" zum Fehler beim Validieren kommen. Dafür verantwortlich sind Einträge in der php.ini. Ob es daran liegt, lässt sich am besten mit folgenden Angaben in Eurem php-Script testen:

 ini_set (
'arg_separator.output' , '&' );
ini_set (
'url_rewriter.tags' ,
'a=href,area=href,frame=src,input=src,fieldset=' );

Weitere Infos dazu gibt es hier: http://validome.org/forum

Kommentare



Zur Vermeidung von Spam tippe bitte den folgenden Code ab: