php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #37522 Parse_str do not send back anything
Submitted: 2006-05-19 16:30 UTC Modified: 2006-05-28 01:00 UTC
Votes:5
Avg. Score:4.6 ± 0.8
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:0 (0.0%)
From: dams@php.net Assigned:
Status: No Feedback Package: Strings related
PHP Version: 5.1.4 OS: osx
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: dams@php.net
New email:
PHP Version: OS:

 

 [2006-05-19 16:30 UTC] dams@php.net
Description:
------------
Parse_str accepts the string, but do not send back anything. 

With one argument, no variable is created. If this is 
register_globals related, we should state it in the docs. 

With 2 arguments, the array is emptied, but not filled.

This bugs is on PHP 5.1.4, 5.1.3 but not 4.4.2.

Reproduce code:
---------------
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
var_dump($output);

$query = 'parametre=valeur'; 

$q = array("1");
parse_str($query, $q);
var_dump($parametre);
var_dump($parametre2);
var_dump($tableau);

var_dump($q);
?>

Expected result:
----------------
valuefoo barbazvaluefoo barbazarray(2) {
  ["first"]=>
  string(5) "value"
  ["arr"]=>
  array(2) {
    [0]=>
    string(7) "foo bar"
    [1]=>
    string(3) "baz"
  }
}
NULL
NULL
NULL
array(1) {
  ["parametre"]=>
  string(6) "valeur"
}

Actual result:
--------------
PHP Notice:  Undefined variable: first in /Users/imac/
Desktop/test.bug.php on line 15
PHP Notice:  Undefined variable: arr in /Users/imac/Desktop/
test.bug.php on line 16
PHP Notice:  Undefined variable: arr in /Users/imac/Desktop/
test.bug.php on line 17
PHP Notice:  Undefined index:  first in /Users/imac/Desktop/
test.bug.php on line 20
PHP Notice:  Undefined index:  arr in /Users/imac/Desktop/
test.bug.php on line 21
PHP Notice:  Undefined index:  arr in /Users/imac/Desktop/
test.bug.php on line 22
array(0) {
}
PHP Notice:  Undefined variable: parametre in /Users/imac/
Desktop/test.bug.php on line 29
NULL
PHP Notice:  Undefined variable: parametre2 in /Users/imac/
Desktop/test.bug.php on line 30
NULL
PHP Notice:  Undefined variable: tableau in /Users/imac/
Desktop/test.bug.php on line 31
NULL
array(0) {
}

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-05-19 17:33 UTC] mike@php.net
I can't reproduce on Linux with 5.1 nor with 5.2
 [2006-05-19 18:22 UTC] dams@php.net
register_globals fixed the problem for the first part 
(parse_str with 1 argument). This means the doc should reflect 
it.

parse_str with 2 arguments still holds...
 [2006-05-19 18:23 UTC] dams@php.net
OK, this bug is related to  #24208.
It actually fails the test (from make test).
 [2006-05-20 14:03 UTC] tony2001@php.net
Works perfectly fine here.
I get the expected result with 5.1.4, 5.2.0-CVS and 4.4.3-CVS.
 [2006-05-28 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 18:01:29 2024 UTC