session_register

Register one or more global variables with the current session

&reftitle.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.

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.";
    ?>

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.

&warn.deprecated.function-5-3-0.removed-5-4-0;
&reftitle.parameters;

`name`

- A string holding the name of a variable or an array consisting of variable names or other arrays.

`...`

&reftitle.returnvalues;

&return.success;

&reftitle.notes;

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.

¬e.registerglobals;

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.

If you are using `$_SESSION` (or `$HTTP_SESSION_VARS`), do not use `session_register`, `session_is_registered`, and `session_unregister`.

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';

&reftitle.seealso;

- `session_is_registered`
- `session_unregister`
- `$_SESSION`