Bug #13078 Updated: register_globals = off & session.save_handler = user

From: Date: Fri, 14 Dec 2001 05:19:22 +0000
Subject: Bug #13078 Updated: register_globals = off & session.save_handler = user
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-73670@lists.php.net to get a copy of this message
ID: 13078 User updated by: php-jp@typhoon.co.jp Reported By: php-jp@typhoon.co.jp Status: Critical Bug Type: Session related Operating System: FreeBSD 4.x PHP Version: 4.0.6, 4.1.0 New Comment: Problem solved in 4.1.0 (release). All thanks to yohgaki@php.net 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 yohgaki@php.net 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 derick@php.net brought up something which I don't know about nor can I duplicate. ---ends--- Previous Comments: ------------------------------------------------------------------------ [2001-12-13 22:04:18] sniper@php.net Just to note that I can not reproduce this with latest CVS. --Jani ------------------------------------------------------------------------ [2001-12-13 05:55:59] derick@php.net 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] php-jp@typhoon.co.jp 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--- ------------------------------------------------------------------------ [2001-12-13 04:52:52] yohgaki@php.net When you use $_SESSION or $HTTP_SESSION_VARS, you don't need session_register/unregister to save session vars. Do you have problem still when you don't use session_register/unregister? ------------------------------------------------------------------------ [2001-12-13 02:54:32] php-jp@typhoon.co.jp Added 4.1.0 into the "PHP Version" field of this report. ---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

« previous php.dev (#73670) next »