ID:               45350
 User updated by:  jon at phpsitesolutions dot com
 Reported By:      jon at phpsitesolutions dot com
-Status:           Open
+Status:           Closed
 Bug Type:         *URL Functions
 Operating System: Linux 2.6.9-67.0.7.ELsmp #1 SMP
 PHP Version:      5.2.6
 New Comment:

Just a note, the sample code I submitted, references "$qs", should be
"$query_string".

Additionally, the sample doesn't reproduce the error. This does:

<?php

$query_string = 'mode=order_message&orderids=5048';
parse_str(html_entity_decode($query_string), $query_string);

$var = http_build_query($query_string, null, '');

echo $var;

?>


It appears this is probably an expected behavior, so it looks like I'll
just have to work around it.

Thanks


Previous Comments:
------------------------------------------------------------------------

[2008-06-24 18:26:19] jon at phpsitesolutions dot com

Description:
------------
When using http_build_query, passing an empty 3rd parameter results in
no separator being used in the resulting output.

This is incorrect, as the documentation page specifies that
'arg_separator.output' will be used in the event that the 3rd parameter
is empty.

To fix this issue in my scripts, I've had to explicitly define the
separator to use, using:
$sep = ini_get('arg_separator.output');

Reproduce code:
---------------
<?php

$query_string = 'mode=order_message&orderids=5048';
parse_str(html_entity_decode($qs), $query_string);

$var = http_build_query($query_string);

echo $var;

?>

Expected result:
----------------
'mode=order_message&orderids=5048'

Actual result:
--------------
'mode=order_messageorderids%3D5048'


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=45350&edit=1

Reply via email to