#20744 [Com]: Browser output is not XHTML compliant
| From: | taupe at taupe dot myhost24 dot com | Date: | Sat, 31 May 2003 22:05:41 +0000 |
| Subject: | #20744 [Com]: Browser output is not XHTML compliant | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-40798@lists.php.net to get a copy of this message | ||
ID: 20744
Comment by: taupe at taupe dot myhost24 dot com
Reported By: sp at m-me dot dk
Status: Closed
Bug Type: Session related
Operating System: All
PHP Version: 4.2.3
New Comment:
It's wrong.
It's still bugging in PHP 4.3.2 ...
Previous Comments:
------------------------------------------------------------------------
[2002-12-01 14:29:52] sniper@php.net
This bug has been fixed in CVS.
In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2002-12-01 09:33:17] msopacua@php.net
I'm not sure this should even be fixed.
It's a clear flaw in the XHTML 1.1 spec, as an input element with type
'hidden', has no layout impact whatsoever, and as such it should not be
burdoned with the rules that apply to an inline element.
------------------------------------------------------------------------
[2002-12-01 06:37:29] sp at m-me dot dk
I constructed a test site to show my point:
http://www.wopr.dk/misc/formproblem.php
If you click at the "W3C XHTML 1.1" picture you will see that the site
contains one error:
"document type does not allow element 'input' here"
The input element the validator refers to is this one:
<input type="hidden" name="PHPSESSID"
value="d509686534734e1c5b1ac66ef2a54c2e" />
The problem is that according to the XHTML standard all input elements
should be contained inside a block level element (like in my case a div
element). The session engine in PHP puts the session ID tag just after
the opening form element.
Instead it should look for the first input, textarea etc. element
inside the form and put the hidden session input element just before
that.
Of cause action also has to be taken if no such element is contained
inside the form.
Look at this link for another description of the problem (not PHP
related):
http://lists.w3.org/Archives/Public/www-validator/2001Sep/0114.html
/watson
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20744&edit=1