PHP Bugs  
php.net | support | documentation | report a bug | advanced search | search howto | statistics | login

go to bug id or search bugs for  

Bug #19460 HTTP_POST_VARS trims 4 characters from left side of each field with array name
Submitted:17 Sep 2002 7:12pm UTC Modified: 19 Oct 2002 11:56am UTC
From:khalil at paksys dot com Assigned to:
Status:Closed Category:mbstring related
Version:4.2.3 OS:Linux 2.4.9-34 (RedHat 7.2)
View/Vote Developer Edit Submission

[17 Sep 2002 7:12pm UTC] khalil at paksys dot com
After submitting a form, HTTP_POST_VARS trims 4 characters from left
side of each field in a form which has name as an array. Example:

<?php
echo "my[1]: " . $my[1] . "<br />";
echo "my[2]: " . $my[2] . "<br />";
echo "my[3]: " . $my[3] . "<br />";
echo "my4: " . $my4 . "<br />";
echo "my5: " . $my5 . "<br />";
?>
<form action="1.php"  name="name" method="post">
<input type="text" name="my[1]" value='1234567890'>
<input type="text" name="my[2]" value='abcdefghijklmnop'>
<input type="text" name="my[3]" value='a1b2c3d4e5f6g7'>
<input type="text" name="my4" value='abcdefghijklmnop'>
<input type="text" name="my5" value='http://www.msn.com/'>
<input type=submit name=submit value=Submit />
</form>

The OUTPUT I got:
my[1]: 567890
my[2]: efghijklmnop
my[3]: c3d4e5f6g7
my4: abcdefghijklmnop
my5: http://www.msn.com/
[17 Sep 2002 9:06pm UTC] yohgaki@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.
[18 Sep 2002 9:38am UTC] thomas at deliduka dot com
Is this the bug report which my report (19476) was set 
bogus for?

This says it's apache 2 related, I'm running 1.3.26. Was 
this, in fact, fixed then?
[18 Sep 2002 9:45am UTC] wez@php.net
The issue was with the --enable-mbstr-enc-trans configure
option; remove it from your configure line and rebuild and
the problem goes away.
This has been fixed in CVS.
(Reclassifying)
[16 Oct 2002 12:10am UTC] lamart at nikoli dot net
What does it mean "This has been fixed in CVS"?  Do I need to get a new
copy of cvs? If so, where do I get it?  Or is CVS a place where I can
get a new copy of php?  If so, where is this "cvs"?  More info. needed.
[16 Oct 2002 12:42am UTC] derick@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.

[16 Oct 2002 4:46pm UTC] mitch at unixprogramming dot net
What about people that are running production servers that 
have been bitten by this! We can't use CVS versions of PHP! 
The workaround described as [remove --enable-mbstr-enc-
trans] isn't valid as I never compiled my PHP with --
enable-mbstr-enc-trans in the first place :-)
[17 Oct 2002 12:28am UTC] derick@php.net
Use --disable-mbstr-enc-trans then... for some reason it was on by
default in 4.2.3, and that is correctedd
[17 Oct 2002 1:54am UTC] yohgaki@php.net
The problem is fixed in 4.2.4-dev.
So try STABLE cvs version if you would like.

BTW, 4.2.x's (and 4.3.0) --enable-enc-trans is default to off. You must
have --enable-mbstring.

[18 Oct 2002 5:05pm UTC] dmarks at seattlemortgage dot com
I have compiled php 4.2.3 with the --disable-mbstr-enc-trans argument
but I am still receiving the same problem.  Is there another argument or
something else that I am missing?
[18 Oct 2002 5:34pm UTC] moriyoshi@php.net
Did you forget to "make clean" before running configure?

Or, please try [grep "MBSTR_ENC_TRANS" main/php_config.h], and if the
result is

/* #undef MBSTR_ENC_TRANS */ 

then there's no problem with configure.

[19 Oct 2002 5:13am UTC] dmarks at seattlemortgage dot com
I did make clean, but still no luck.  Is --disable-mbstr-enc-trans the
only argument I need?  If so I will contact the ISP and see if they are
having issues with the way I am compiling it.  If not, please let me
know if there are any other arguments necessary to fix this problem.
[19 Oct 2002 10:39am UTC] moriyoshi@php.net
Basically the single argument --disable-mbstr-enc-trans is enough to
disable the feature. NO OTHER OPTIONS are required. What options did you
give to configure and how do you run the testing script? (ex. Apache DSO
or CGI binary)
Anyway I don't see any problems there.
[19 Oct 2002 11:31am UTC] dmarks at seattlemortgage dot com
I configured it just with the --disable-mbstr-enc-trans argument.  I
turned on magic quotes and register globals in the php.ini file (I know
that's not the best thing).  Other then that I stuck with the defaults. 
I am running it as Apache DSO - does any of this make a difference?
[19 Oct 2002 11:56am UTC] moriyoshi@php.net
Hmm... I asked such questions just because I would like to confirm if
you have surely configured both with --disable-mbstr-enc-trans and
--with-apxs, and you have run the script in Apache.
BTW magic_quotes_gpc and register_globals have nothing to do with the
mbstr-enc-trans issue.
[26 Nov 2002 9:19am UTC] php at com dot hosfordusa
Does this problem exist in the PHP 4.2.3 Win 32 download binary?

RSS feed | show source 

PHP Copyright © 2001-2009 The PHP Group
All rights reserved.
Last updated: Sat Nov 21 10:30:49 2009 UTC