From: dradu at dudici dot dk
Operating system: Windows
PHP version: 4.3.2
PHP Bug Type: HTTP related
Bug description: when using eurosign in form, first post variable is lost
Description:
------------
I have a form with some input fields (text & radios - see the attached
script).
When I enter the eurosign in one of the text fields and submit, the first
post variable is lost, i.e. does not appear in $_POST.
I can reproduce the error in the following conditions:
- The page's charset = ISO-8859-1 (maybe also with other ISO-8859)
- The form's method=POST & enctype=multipart/form-data
- Right before the submit button is a radio (or checkbox) input and I DO
NOT check the last radio option
- I type the eurosign character (I think code 80hex, Alt+0128) in a text
field
- Browser is IE
I used PHP binaries v.4.3.2 on Windows 2000 & XP/IIS with IE 6.0
No special changes in php.ini (except maybe upload_max_filesize=5M and
post_max_size=8M)
I have attached the script I used. Do you know what is happening? Why this
behaviour?
Maybe you have a solution ...
Thanks,
Radu Dudici
Reproduce code:
---------------
<html>
<head>
<title> i-Term </title>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
</head>
<body >
POST data:<br><pre>
<?
print_r ($_POST);
?>
</pre>
<form enctype="multipart/form-data" action="tst1.php" method="post"
>
Test: <input type=text name='test' value="1">
<p>Comment:<p><textarea class="tbltxt" style='width: 320px'
cols=50
name="comment" rows="1"
><?=@$_POST['comment']?></textarea>
<p>Radios:<br>
<input type=radio name="radios" value=1 > radio 1
<input type=radio name="radios" value=2 > radio 2
<p><input type=submit>
</form>
</body></html>
Expected result:
----------------
I expect to have all the post variables from the form into $_POST array in
PHP also when using eurosign character.
Actual result:
--------------
When entering the eurosign in a text field, and under the conditions
described above, the first post variable from the form is lost, i.e. does
not appear in $_POST array.
--
Edit bug report at http://bugs.php.net/?id=24143&edit=1
--
Try a CVS snapshot: http://bugs.php.net/fix.php?id=24143&r=trysnapshot
Fixed in CVS: http://bugs.php.net/fix.php?id=24143&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=24143&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=24143&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=24143&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=24143&r=support
Expected behavior: http://bugs.php.net/fix.php?id=24143&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=24143&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=24143&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=24143&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24143&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=24143&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=24143&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=24143&r=gnused