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

 ID:                 44545
 Comment by:         william at piecewise dot com
 Reported by:        info at concept47 dot com
 Summary:            Numeric keys in sessions fail silently
 Status:             Not a bug
 Type:               Bug
 Package:            Session related
 Operating System:   Windows Xp sp2
 PHP Version:        5.2.5
 Block user comment: N
 Private report:     N

 New Comment:

I would have to agree. I had no idea about this rule for session vars and as a 
result lost about an hour and a half before I stumbled across this post.


Previous Comments:
------------------------------------------------------------------------
[2008-03-27 12:46:57] info at concept47 dot com

And as this $_SESSION is "special" we can not add any errors when it's
passed invalid data

--- can you elaborate more on this? because that it is what I don't understand.

Why will

$1234 = "me";

fail fantastically but ...

$_SESSION['1234'] = "me"

not.

------------------------------------------------------------------------
[2008-03-27 11:31:14] j...@php.net

And as this $_SESSION is "special" we can not add any errors when it's passed 
invalid data. You just have to _know_ this.

------------------------------------------------------------------------
[2008-03-27 11:30:28] j...@php.net

RTFM: "The keys in the $_SESSION associative array are subject to the same 
limitations as regular variable names in PHP, i.e. they cannot start with a 
number and must start with a letter or underscore. For more details see the 
section on variables in this manual. "

Found at http://php.net/session


------------------------------------------------------------------------
[2008-03-27 10:42:02] info at concept47 dot com

Description:
------------
trying to use numeric keys for sessions vars, fails, silently. This is bad and 
can lead to lost hours/money for developer. I am just asking for this sort of 
assignment to fail in a far more obvious manner.

Reproduce code:
---------------
$_SESSION['1234'] = "boooo!"

Expected result:
----------------
I expect the session variable to be stored or else fail miserably like this 
assignment would

$123 = "dummy!"

Actual result:
--------------
the session variable with a numeric key is never stored ... and it might take a 
developer a while to figure out why, as other session vars are stored just fine.




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



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

Reply via email to