Edit report at https://bugs.php.net/bug.php?id=65252&edit=1

 ID:                 65252
 Updated by:         yohg...@php.net
 Reported by:        matti dot jarvinen at nitroid dot fi
-Summary:            Input string parsing
+Summary:            Input string parsing - allow ' ' and '.' chars as
                     hash key
 Status:             Open
 Type:               Feature/Change Request
 Package:            URL related
 Operating System:   *
-PHP Version:        5.4.17
+PHP Version:        master
 Block user comment: N
 Private report:     N

 New Comment:

This may break apps, but request is debatable.


Previous Comments:
------------------------------------------------------------------------
[2013-07-12 13:33:24] matti dot jarvinen at nitroid dot fi

Description:
------------
Since register_globals has been removed in PHP 5.4.0 there should be no reason 
other than legacy why input variables ($_POST, $_GET, $_FILES, $_COOKIE, 
$_REQUEST) can not have keys containing following characters

chr(32) ( ) (space)
chr(46) (.) (dot)

Documentation states that only . is changed to _ but same goes for above 
characters.

http://www.php.net/manual/en/language.variables.external.php

Test script:
---------------
<form method="POST">
<input type="text" name="foo bar" value="spaced" />
<input type="text" name="foo.bar" value="dotted" />
<input type="submit" value="send" />
</form>

<?php

if(isset($_POST))
{
  print_r($_POST);
}

?>

Expected:
array(
  "foo bar"=>'spaced',
  "foo.bar"=>'dotted'
);

Actual result:
array(
  "foo_bar"=>'dotted'
);



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



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

Reply via email to