ID: 13078 Updated by: derick Reported By: [EMAIL PROTECTED] Old Status: Critical Status: Closed Bug Type: Session related Operating System: FreeBSD 4.x PHP Version: 4.0.6, 4.1.0 New Comment:
Closing then... Previous Comments: ------------------------------------------------------------------------ [2001-12-14 01:45:54] [EMAIL PROTECTED] Sorry, but further testing revealed when sess_read return NULL; for when nothing was found caused problems sometimes, not always! However return ''; seems to work all of the time! Looks like sess_write has to return a '' (null string) It cannot return NULL, nor it return false; Otherise sess_write will never be called! ---ends--- ------------------------------------------------------------------------ [2001-12-14 00:19:21] [EMAIL PROTECTED] Problem solved in 4.1.0 (release). All thanks to [EMAIL PROTECTED] for pointing me to his very well written code! I found the reason my sess_write was never called with register_globals = off was because my sess_read function was something like this: sess_read( $key) ... if I find stuff for $key from PostgreSQL { return $valuesfound; } else { return false; } The problem was with "return false;" After changing: return false; to return NULL; things worked. Don't know why the "return false" worked with "register_globals=on" and "register_global=off" requires sess_read to return NULL if nothing was found... THANKS again to [EMAIL PROTECTED] for his code and my apologise for wasting people's time. Please feel free to close this bug report. I am not closing it because [EMAIL PROTECTED] brought up something which I don't know about nor can I duplicate. ---ends--- ------------------------------------------------------------------------ [2001-12-13 22:04:18] [EMAIL PROTECTED] Just to note that I can not reproduce this with latest CVS. --Jani ------------------------------------------------------------------------ [2001-12-13 05:55:59] [EMAIL PROTECTED] PHP 4.1.0 (release) TEST SCRIPT: <?php session_start(); $_SESSION['test'] = 'YES'; echo ini_get('register_globals'); ?> SESSION FILE CONTENTS: With register_globals = 1: <empty> With register_globals = 0: test|s:3:"YES"; ------------------------------------------------------------------------ [2001-12-13 05:14:14] [EMAIL PROTECTED] Yes, I have problems with or without session_register/unregister. In fact, I first tried: $_SESSION["varname"] = "somevaluehere"; to see if it was saved. But it was NOT. So, I tried this: session_register("varname"); $_SESSION["varname"] = "somevaluehere"; thinking it would help. Anyhow, none of the above worked. Once again, if register_globals=on then, everything is fine. ---ends--- ------------------------------------------------------------------------ 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/?id=13078 Edit this bug report at http://bugs.php.net/?id=13078&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]