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

Reply via email to