ID:               16043
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Closed
 Bug Type:         Session related
 Operating System: Windows XP
 PHP Version:      4.1.2
 New Comment:

Isn't this important enough to make a new binary release for those
without MSVC or new users that probably will get very confused when
sessionmanagement isn't working.
Just an idea. I think that you will be loosing some new users
otherwise.


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

[2002-03-14 21:15:08] [EMAIL PROTECTED]

Oops,  this is fixed in CVS and will be fixed in 4.2.0 also.

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

[2002-03-14 18:58:34] [EMAIL PROTECTED]

I can confirm this with w2ksp2 + apache 1.3.23

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

[2002-03-14 15:58:47] [EMAIL PROTECTED]

Sample scripts to show symptoms.

The following script shows that NO session data is stored when you use
the new $_SESSION variables only as described in the PHP manual:
__________________________________________________
<html><head><title>Simple PHP Session Test</title></head>
<body>
Testing PHP Sessions...<p>

<?php

error_reporting(E_ALL);
session_start();

echo "Values at start of script:<br>";
foreach($_SESSION as $key => $value) {
   echo "\$_SESSION['$key'] => '$value'<br>";
}

//Set/Increment Counter
if ( !array_key_exists('counter', $_SESSION) ) {
   $_SESSION['counter'] = 0;
} else {
   $_SESSION['counter']++;
}

echo "Values at end of script:<br>";
foreach($_SESSION as $key => $value) {
   echo "\$_SESSION['$key'] => '$value'<br>";
}


?>
</body>
</html>
__________________________________________________


And the modified version of this script uses the older
$HTTP_SESSION_VARS variable along with session_register(), to show that
session_register() creates the initial instance of a session variable,
but no updates occur after that.  This is the best I've been able to do
with sessions in 4.1.2, so it's pretty useless at this point.
__________________________________________________
<html><head><title>Simple PHP Session Test</title></head>
<body>
Testing PHP Sessions...<p>

<?php

error_reporting(E_ALL);
session_start();

echo "Values at start of script:<br>";
foreach($HTTP_SESSION_VARS as $key => $value) {
   echo "\$HTTP_SESSION_VARS['$key'] => '$value'<br>";
}

//Set/Increment Counter
if ( !array_key_exists('counter', $HTTP_SESSION_VARS) ) {
   $counter = 0;
   session_register('counter');
} else {
   $HTTP_SESSION_VARS['counter']++;
}

echo "Values at end of script:<br>";
foreach($HTTP_SESSION_VARS as $key => $value) {
   echo "\$HTTP_SESSION_VARS['$key'] => '$value'<br>";
}


?>
</body>
</html>
__________________________________________________

P.S.  For what it's worth, session files ARE created in the
session.save_path directory, but other than the latter script, the
files are always 0 bytes and completely empty.  Hope this helps track
down the bug.

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

[2002-03-14 14:37:56] [EMAIL PROTECTED]

Also applies to NT 4.0 (sp6a) both Module and CGI $_SESSION 
and also $HTTP_SESSION_VARS are dead.  From what I can tell 
the sess files get created in tmp ok, however nothing ever 
gets written to it.

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

[2002-03-14 10:27:13] [EMAIL PROTECTED]

thank you for reply...
I test the $_SESSION use those 3 PHP file...

1.php
===============================
<?php
session_start();
echo '<a href=2.php>TEST</a>';
echo '<hr>SESSION<br>';
foreach($_SESSION as $k => $v)
        echo "$k => $v<br>";
$_SESSION['a']='a';
?>
===============================
2.php
===============================
<?php
session_start();
echo '<a href=3.php>TEST</a>';
echo '<hr>SESSION<br>';
foreach($_SESSION as $k => $v)
        echo "$k => $v<br>";
$_SESSION['b']='b';
?>
===============================
3.php
===============================
<?php
session_start();
echo '<a href=1.php>TEST</a>';
echo '<hr>SESSION<br>';
foreach($_SESSION as $k => $v)
        echo "$k => $v<br>";
$_SESSION['c']='c';
?>
===============================
very simple...
I like use PHP 4.1.x new features($_GET, $_POST, $_SESSION... etc), so
I care about the $_SESSION can right work!

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

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/16043

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

Reply via email to