OK, so :
############################
#SCRIPT 'try_parse_str.php'#
############################
<HTML>
<HEAD>
<META HTTP-EQUIV="Expires" CONTENT="Sat, 17 May 1975
09:32:45 GMT">
<META HTTP-EQUIV="PRAGMA" CONTENT="no-cache">
</HEAD>
<?php
if ($HTTP_GET_VARS['pass'] != 2)
{
print "<FORM ACTION='try_parse_str.php' METHOD=GET>";
print " <INPUT TYPE='hidden' NAME='pass' Value='2'>";
print " <INPUT TYPE='checkbox' NAME='delete[]'
Value='Choice_one'> Choice One\n"."<BR>\n";
print " <INPUT TYPE='checkbox' NAME='delete[]'
Value='Choice_two'> Choice Two\n"."<BR>\n";
print " <INPUT TYPE='submit' VALUE='SUBMIT'>";
print " <INPUT TYPE='reset' VALUE='RESET'><BR>";
print "</FORM>";
print " <BR>";
}
else
{
parse_str($QUERY_STRING);
for($i=0; $i < sizeof($delete); $i++)
{
print $delete[$i]."<BR>\n";
};
}
?>
</HTML>
##############
# URL CALLED #
##############
http://mycomputer/try_parse_str.php
I check the two boxes => URL called then is :
http://msmile/try_parse_str.php?pass=2&delete%5B%5D=Choice_one&delete%5B%5D=Choice_two
##########
# OUTPUT #
##########
Choice_one
Choice_two
Choice_one
Choice_two
##########
AND, we should have rather:
##########
# OUTPUT #
##########
Choice_one
Choice_two
##########
So, there is a bug.
Regards,
Benoit.
--- Bug Database <[EMAIL PROTECTED]> a �crit�: >
ID: 11985
> Updated by: brianlmoon
> Reported By: [EMAIL PROTECTED]
> Old Status: Open
> Status: Feedback
> Bug Type: *General Issues
> Operating System: SOLARIS 2.8
> PHP Version: 4.0.6
> New Comment:
>
> Perhaps showing us the complete script and output
> would help. With what you have here, I can make no
> sense of your problem. That URL could not have been
> generated by that form as there are no [] in it.
>
> Thanks,
>
> Brian.
>
> Previous Comments:
>
------------------------------------------------------------------------
>
> [2001-07-09 13:17:46] [EMAIL PROTECTED]
>
> It seems to be a mistake with the function
> parse_str() applyed to $QUERY_STRING.
>
> URL: http://mycomputer/myscript?delete=10&delete=12
>
> HTML CODE:
> <Input type="checkbox" name=delete[] value=10>
> <Input type="checkbox" name=delete[] value=12>
>
> And (not the winner is :-) )
> parse_str($QUERY_STRING) returns in the environment
> an array $delete with a size of 4 (instead of 2) !!
> Some programmer forget to divide a result by 2, or
> there is something I forget ?
>
> (TEST : $i=0; while (isset($delete)) { print
> "$delete[$i]\n"; $i++ } ... I obtain 4 writings with
> this test (i wanted not use the sizeof function for
> my test)).
>
> Regards
>
>
------------------------------------------------------------------------
>
>
>
> ATTENTION! Do NOT reply to this email!
> To reply, use the web interface found at
> http://bugs.php.net/?id=11985&edit=1
>
___________________________________________________________
Do You Yahoo!? -- Pour faire vos courses sur le Net,
Yahoo! Shopping : http://fr.shopping.yahoo.com
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]