|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-08-06 11:23 UTC] tr909 at bigfoot dot com
1. when register_globals is off you have to SET and READ HTTP_SESSION_VARS this is wrong in the docs or at least confusing (example 1 on http://www.php.net/manual/en/ref.session.php ) BUG 2. session_register cannot be called from inside another funcion (when trying a by reference call this generates a call-time reference error on some servers) function & sess_reg($x){ global $HTTP_SESSION_VARS; session_register(& $HTTP_SESSION_VARS[$x]); $GLOBALS[$x] = & $HTTP_SESSION_VARS[$x]; } //session_start(); sess_reg("foo"); echo $foo++; when using session_register($HTTP_SESSION_VARS[$x]); the variable is NOT registered. and when used by reference (as in example above) generates a "Warning: Call-time pass-by-reference has been deprecated - argument passed by value;" Tr909 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 06 11:00:01 2025 UTC |
function sess_reg($x){ global $HTTP_SESSION_VARS; $a = & $HTTP_SESSION_VARS[$x]; session_register($a); echo $a; $GLOBALS[$x] = & $HTTP_SESSION_VARS[$x]; } this seems to work but it is still strange that session_register("$HTTP_SESSION_VARS[$x]"); or even session_register("$HTTP_SESSION_VARS["foo"); do not work inside a function. even more strange is that HTTP_SESSION_VARS[$x] does not even exist at the time you set a reference to it? maybe, i'm curious now, that session_register() doesn't like arrays but with register_globals = off you just have the SESSION-VARS array