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