ID: 20728 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Feedback Bug Type: Session related Operating System: Linux 2.4.x PHP Version: 4.2.3 New Comment:
I still don't see any bug here..using references with _SESSION is not really useful as only the value is stored.. You think it should stay as a reference? Previous Comments: ------------------------------------------------------------------------ [2002-12-01 19:06:00] [EMAIL PROTECTED] Hello, This code is incorrect - I must have pasted over the code after I modified it during testing as $foobar is not a reference, but a copy. Here is what it should be (please note that you will have to hit reload after the first hit as session gets created on the first hit - so load it and hit reload - and then view the output): <?php session_start(); echo 'Before session modifications:<br><pre>'; var_dump($_SESSION); $_SESSION['foobar'] = 1; $foobar =& $_SESSION['foobar']; global $foobar; $foobar = 3; echo '</pre>After session modifications:<br><pre>'; var_dump($_SESSION); ?> ------------------------------------------------------------------------ [2002-12-01 16:13:01] [EMAIL PROTECTED] I get this normal output: Before session modifications: array(1) { ["foobar"]=> int(1) } After session modifications: array(1) { ["foobar"]=> int(1) } No bug here. (using PHP 4.3.0-dev) ------------------------------------------------------------------------ [2002-12-01 16:07:16] [EMAIL PROTECTED] Hello, I don;t think it is quote as easy as saying "Don't use global with the autoglobal arrays.". Please read my original bug post. I went out of my way to be very detailed so that I don't waste your time - this does nobody any good though if you don't take the time to read it. More specifically, this is the part I am referring to: <ORIGNAL BUG POST> So now you are asking that is interesting, but why would you ever want to "global" an autoglobal. Good question! There would be no purpose in doing this since $_SESSION is always in scope. Well, this bug presented itself to me in an application where there was a reference to a portion of $_SESSION. Since the application is over 5000 lines of code, we will view a highly condensed test version of this: <?php session_start(); echo 'Before session modifications:<br><pre>'; var_dump($_SESSION); $_SESSION['foobar'] = 1; $foobar = $_SESSION['foobar']; global $foobar; $foobar = 3; echo '</pre>After session modifications:<br><pre>'; var_dump($_SESSION); ?> </ORIGNAL BUG POST> So the bug presents itself when you "global" a reference to an array element of an autoglobal as well. Perhaps, I should have used this as the original code example. Please take the time to read the full bug post. Thank You, Mike ------------------------------------------------------------------------ [2002-11-29 20:58:08] [EMAIL PROTECTED] Don't use global with the autoglobal arrays. ------------------------------------------------------------------------ [2002-11-29 17:59:17] [EMAIL PROTECTED] Hello, I have compiled the latest snap shot at http://snaps.php.net/php4-latest.tar.gz. The only change I had to make for the PHP compiling process was to update my version of curl since the snapshot requires curl-7.10.2 (the latest stable release). It compiled fine, I restarted the web server, and the same problem still occurs with the same code from my original bug post. Please let me know if you need any additional information. Mike ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/20728 -- Edit this bug report at http://bugs.php.net/?id=20728&edit=1