ID: 15983
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Closed
Bug Type: Session related
Operating System: Debian/Linux mips platform
PHP Version: 4.1.2
New Comment:
Reopen if this script does not work for you with PHP 4.2.0:
<?php
session_start();
if(!isset($_SESSION['test'])) {
$_SESSION['test'] = 0;
}
echo $_SESSION['test']++;
?>
It works fine here..(reloading the page increases the count)
--Jani
Previous Comments:
------------------------------------------------------------------------
[2002-04-24 09:55:59] [EMAIL PROTECTED]
These two pages, s*1.php and s*2.php are called consecutively,
separately by the same browser with the SID in the cookie?
I thought sessions had to be accessed using a SID. At least, that is
the way I believe PHPLib does it, and PHP 4.x.x is supposed to be
exhibiting similar behavior, right?
If one script is including the other script, I don't know hwo that
would work.
------------------------------------------------------------------------
[2002-04-12 05:23:51] [EMAIL PROTECTED]
what about this workaround:
--- page #1 ---
session_start();
$_SESSION["test"] = "some value";
---------------
--- page #2 ---
session_start();
print $_SESSION["test"];
---------------
this works well for us.
/achim
------------------------------------------------------------------------
[2002-04-05 03:50:23] [EMAIL PROTECTED]
Even in PHP 4.2.0RC1 the bug is still there.
Nothing is changed.
Best regards,
Soeren,
------------------------------------------------------------------------
[2002-04-02 09:48:13] [EMAIL PROTECTED]
Could you try 4.2.0RC1?
Please visit http://qa.php.net/ for it.
------------------------------------------------------------------------
[2002-03-18 11:16:41] [EMAIL PROTECTED]
Here is part of what is going wrong. PHP starts out with each session
variable appearing as a global and also in $_SESSION. Initially these
are linked by reference (not clear how) and contain the same data. On
my pages this linkage appears to get broken so the contents
$GLOBALS['S'] and $_SESSION['S'] are not the same. $GLOBALS contains
the latest data, $_SESSION contains the data as of the start of the
page. Consequently changes to the $_SESSION variable are not being
saved between pages.
My work around is to use the following at the end of each page for $S:
if ( !($_SESSION['S'] === $S) )
$_SESSION['S'] = $S;
This updates the contents of the $_SESSION variable if it is not longer
the same as the global.
Based on a comment from one of the developers, the problem may relate
to having a global declaration for a session variable that appears
outside a function scope. I have these declarations on each of my pages
because PHP used to require them.
------------------------------------------------------------------------
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/15983
--
Edit this bug report at http://bugs.php.net/?id=15983&edit=1