session_register
(PHP 4 )
session_register -- Register one or more global variables
with the current session
Description
bool session_register ( mixed name [, mixed ...])
session_register() accepts a variable number of arguments,
any of which can be either a string holding the name of
a variable or an array consisting of variable names or other
arrays. For each name, session_register() registers the
global variable with that name in the current session.
Caution
If you want your script to work regardless of register_globals,
you need to instead use the $_SESSION array as $_SESSION
entries are automatically registered. If your script uses
session_register(), it will not work in environments where
the PHP directive register_globals is disabled.
register_globals: important note: Since PHP 4.2.0, the
default value for the PHP directive register_globals is
off. The PHP community encourages all to not rely on this
directive but instead use other means, such as the superglobals.
Caution
This registers a global variable. If you want to register
a session variable from within a function, you need to make
sure to make it global using the global keyword or the $GLOBALS[]
array, or use the special session arrays as noted below.
Caution
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not
use session_register(), session_is_registered(), and session_unregister().
This function returns TRUE when all of the variables are
successfully registered with the session.
If session_start() was not called before this function
is called, an implicit call to session_start() with no parameters
will be made. $_SESSION does not mimic this behavior and
requires session_start() before use.
You can also create a session variable by simply setting
the appropriate member of the $_SESSION or $HTTP_SESSION_VARS
(PHP < 4.1.0) array.
<?php
// Use of session_register() is deprecated
$barney = "A big purple dinosaur.";
session_register("barney");
// Use of $_SESSION is preferred, as of PHP 4.1.0
$_SESSION["zim"] = "An invader from another
planet.";
// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got
square pants.";
?>
Note: It is currently impossible to register resource variables
in a session. For example, you cannot create a connection
to a database and store the connection id as a session variable
and expect the connection to still be valid the next time
the session is restored. PHP functions that return a resource
are identified by having a return type of resource in their
function definition. A list of functions that return resources
are available in the resource types appendix.
If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less)
is used, assign values to $_SESSION. For example: $_SESSION['var']
= 'ABC';
See also session_is_registered(), session_unregister(),
and $_SESSION.