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
