ID:               37629
 Updated by:       [EMAIL PROTECTED]
 Reported By:      phpbugs at asystance dot nl
-Status:           Open
+Status:           Bogus
 Bug Type:         Documentation problem
 Operating System: Windows XP / Debian Linux
 PHP Version:      4.4.2
 New Comment:

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

It is only documented that on session_start() the content of _SESSION
will be globalized. Or when you use session_register().

It is nowhere mentioned that inserting something into _SESSION
magically creates a global variable or a reference to it. 




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

[2006-05-30 17:08:04] judas dot iscariote at gmail dot com

this is a "misfeature", and I don't think It would be fixed at all in
4.4 doing so, will break a lot code...

it is fixed in php6, since register_globals is gone.

Just Do not use register_globals.

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

[2006-05-29 15:52:26] phpbugs at asystance dot nl

changed version

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

[2006-05-29 15:49:32] phpbugs at asystance dot nl

Description:
------------
When register_globals = On (I know this is legacy), $_SESSION behaves
differently than the other superglobals and this (mis)behaviour is not
documented.

This is actually a duplicate of (or maybe just related to) bug #25110.
[EMAIL PROTECTED] calls this behaviour a "feature". I strongly disagree.

What we should agree on is that it's undocumented and unexpected.
Neither the documentation on register_globals nor the documentation on
superglobals mentions this. It also only works with $_SESSION (and not
with other superglobals), so the behaviour is very unexpected.

I tested this with two debian installations (4.4.2-1+b1 on Apache
2.0.55 and 4.3.10-16.8 on Apache 1.3.33) and the latest Windows zip
package 4.4.2 on Apache2.

Reproduce code:
---------------
<?php
session_start();
$_SESSION['var'] = 'hello';
$var = 'again';
echo $_SESSION['var'];
?>


Expected result:
----------------
Output is 'hello'

Actual result:
--------------
Output is 'again'


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


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

Reply via email to