Registra uma ou mais variáveis globais na sessão atual


session_register

(PHP 4, PHP 5 < 5.4.0)

session_registerRegistra uma ou mais variáveis globais na sessão atual

Descrição

bool session_register ( mixed $name [, mixed $... ] )

session_register() aceita um número de argumentos variáveis, alguns deles podem ser ou uma string com o nome da variável ou uma matriz de nomes de variáveis ou outras matrizes. Para cada nome, session_register() registra a variável global com o nome na sessão atual.

Você também pode criar uma variável de sessão simplesmente anexando um membro nos arrays $_SESSION ou $HTTP_SESSION_VARS (PHP < 4.1.0).

<?php
// O uso de session_register() está obsoleto
$barney = "A big purple dinosaur.";
session_register("barney");

// Uso de $_SESSION é preferível desde o 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.";
?>

Se session_start() não foi chamado antes dessa função, uma chamada implícita a session_start() será feita, sem parâmetros. $_SESSION não imita esse comportamento e requer uma chamada asession_start() antes de seu uso.

Aviso

Esta função tornou-se OBSOLETA desde o PHP 5.3.0 e foi REMOVIDA desde o PHP 5.4.0.

Parâmetros

name

Uma string contento o nome de uma variável ou array com nome de variáveis ou ainda outros arrays.

...

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em caso de falha.

Notas

Cuidado

Se você deseja que seu script funcione independente deregister_globals, você precisa utilizar $_SESSION pois assim os dados serão automaticamente registrados. Se o seu script utilizasession_register(), ele não irá funcionar em ambientes onde a diretava register_globals está desativada.

Nota: Nota importante sobre register_globals:

Desde o PHP 4.2.0, o valor padrão para a diretiva register_globals é off e foi completamente removida a partir do PHP 6.0.0. A comunidade do PHP desencoraja desenvolvedores a confiar nesta diretiva, e encoraja o uso de outros meios, como em superglobals.

Cuidado

Isto registra uma variável global. Se você deseja registrar uma variável de dentro de uma função então é ncessário torná-la global utilizando a instrução global ou o array $GLOBALS[], ou ainda utilizar os arrays especiais conforme abaixo.

Cuidado

Se você está utilizando $_SESSION (ou $HTTP_SESSION_VARS) então não use session_register(), session_is_registered() e session_unregister().

Nota:

Atualmente é impossível registrar variáveis com resources em uma sessão. Por exemplo você não pode criar uma conexão a um banco de dados e armazenar a conexão numa variável de sessão e esperar que a conexão ainda esteja válida quando a sessão for restaurada. Funções do PHP que retornam um recurso são identificados pelo tipo resource em sua definição. Uma lista de funções que retornam recursos está disponível no apêndice Tipos de Recursos.

$_SESSION (ou $HTTP_SESSION_VARS em PHP 4.0.6 e anteriores) são utilizados através da assimilação de valores. Por exemplo: $_SESSION['var'] = 'ABC';

Veja Também