|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2002-10-03 19:34 UTC] sniper@php.net
[2002-10-20 23:32 UTC] sniper@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 19:00:01 2025 UTC |
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.