PHP 4.0 Bug #7934 Updated: HTTP_POST_VARS unable to handle same key multiple times
| From: | sniper@php.net | Date: | Thu, 23 Nov 2000 10:25:34 +0000 |
| Subject: | PHP 4.0 Bug #7934 Updated: HTTP_POST_VARS unable to handle same key multiple times | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-38978@lists.php.net to get a copy of this message | ||
ID: 7934
Updated by: sniper
Reported By: bzeeb+php@zabbadoz.net
Status: Closed
Bug Type: Variables related
Assigned To:
Comments:
Just add [] to the name. i.e.
<input type="checkbox" name="FORM_key[]" value="2">
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2000-11-22 17:03:47] bzeeb+php@zabbadoz.net
Using p.ex. function from FAQ 7.1 to read HTTP_POST_VARS one
is unable to handle/see all key-value-pairs when key is the same for
multiple values. I did not find any way to see all pairs (well one might define an array as name but
that is not what CGI standard expects I think).
p.ex. having something like this in a HTML form:
<input type=checkbox name="FORM_key" value="2">
<input type=checkbox name="FORM_key" value="8">
<input type=checkbox name="FORM_key" value="19">
would only result in:
FORM_key -> 19
sizeof($HTTP_POST_VRS) = 1
instead of
FORM_key -> 2
FORM_key -> 8
FORM_key -> 19
where sizeof would return 3.
This is most likely caused by using some kind of associative array instead
of using indexes. I did not manage to solve this by using other array f()s.
I do not have time to look at the source code - sorry.
A simple dirty quick hack perl-script shows you that one does get all the
three values:
--- snipp ---
#!/usr/bin/perl
printf("Content-Type: text/htmlnn");
if ($ENV{'CONTENT_LENGTH'} > 0) {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
printf("nPOST-Buffer (raw):<br>n");
printf("%sn", $buffer);
printf("nPOST-Buffer (split up):<br>n");
foreach $pair (@pairs) {
printf("%s<br>n", $pair);
}
} else {
printf("NO HTTP_POST_VARs -> nothing to do here<br>n");
}
# End;
--- snipp ---
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=7934