ID:               19740
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         Session related
 Operating System: Red Hat Linux 7.3
 PHP Version:      4.2.3
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php4-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-latest.zip


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

[2002-10-03 13:56:01] [EMAIL PROTECTED]

OS - Red Hat 7.3
Web Server- Apache 1.3.23
PHP - 4.2.3

If globals are turned off when calling session_write_close() before a
page redirect, any new session data is not getting written when using
files. As a work around, if I use my on session handlers, I ignore the
session_data that gets passed to my session_write function and create
my own session data string like this:

function sess_write($key, $val)
{       
        // SGH - 10/03/2002
        // globals off bug work around!!! The session data
        // passed in is not always updated with new values.
        // so we'll build our on session data from the
        // super global $_SESSION.
        $sesson_data = "";
        while (list($name, $value) = each($_SESSION))
        {
           $$name = $value['tmp_name'];

           if (is_string($value))
           {
                $session_data .=
$name.'|s:'.strlen($value).':'.chr(34).$value.chr(34).";";
           }
           elseif (is_int($value))
           {
                $session_data .= $name.'|i:'.$value.";";
           }
           elseif (is_float($value))
           {
                        $session_data .= $name.'|d:'.$value.";";
           }
   }
   $val = $session_data;

// more code ............

This works, however, seems to point to a PHP bug, since $val does not
contain the new varibles until I set it to the string I created from
the super global $_SESSION.

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


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

Reply via email to