#22070 [Com]: trans_id: Hidden fields placed incorrectly
| From: | node at nodefall dot de | Date: | Mon, 10 Feb 2003 18:25:01 +0000 |
| Subject: | #22070 [Com]: trans_id: Hidden fields placed incorrectly | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-32662@lists.php.net to get a copy of this message | ||
ID: 22070
Comment by: node@nodefall.de
Reported By: jonas@understroem.dk
Status: Closed
Bug Type: Session related
Operating System: Linux
PHP Version: 4.3.0
New Comment:
1. i won't use <fieldset> ... i use <div> instead
2. If i use fieldset (4.3.0) this is the result
<form id="session" method="post" action="?act=login"><input
type="hidden" name="PHPSESSID"
value="8a918ae1b8091340b6bdabebc43d623a"
/><fieldset><input type="hidden" name="PHPSESSID"
value="8a918ae1b8091340b6bdabebc43d623a" />
very funny
Previous Comments:
------------------------------------------------------------------------
[2003-02-09 16:00:40] sas@php.net
For xhtml, you use <form><fieldset>, so that the rewriter will include
the hidden input field after the fieldset.
------------------------------------------------------------------------
[2003-02-09 15:36:56] node@nodefall.de
lol
is this the way how php is fixing bugs?
------------------------------------------------------------------------
[2003-02-05 16:01:38] sniper@php.net
You can disable the adding of the hidden field by
removing 'form=' from url_rewriter.tags
------------------------------------------------------------------------
[2003-02-05 09:16:05] magnus@php.net
Output from http://validator.w3.org:
Line 7, column 115: 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
...="f78cfab3aa4745920992c99cabedc75f" />
^
------------------------------------------------------------------------
[2003-02-05 08:33:42] jonas@understroem.dk
When using session.use_trans_sid, a hidden input field containing the
session name and ID is placed right after the <form> tag. Unfortually,
this makes the HTML invalid if you're using XHTML 1.1, strict XHTML
1.0, or strict HTML 4.0: All input fields (even hidden ones) must be
placed inside a block-level element such as <div> or <p>.
The solution: When the parser discovers a form on the page, it should
place the hidden field containing the session name + ID right next to
one of the other input fields:
The original page:
<form action='some.php' method='post'>
<div>
<input type='text' name='yourName'/>
</div>
</form>
After being processed by the parser:
<form action='some.php' method='post'>
<div>
<input type='hidden' name='PHPSESSID'
value='920203'/><input
type='text' name='yourName'/>
</div>
</form>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22070&edit=1