Forum und email

session_register

(PHP 4, PHP 5)

session_register — Registrar 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, algund 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.

Cuidado

Se você quer que seu script funcione independentemente do uso de register_globals, você precisa usar a matriz $_SESSION já que $_SESSION é automaticamente registrada. Se o seu script usa session_register(), ele não irá funcionar em ambientes onde a diretiva de configuração register_globals esteja desabilitada.

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 encoraja a todos a não depender desta configuração mas ao invés usar outros meios, como, por exemplo, superglobals.

Cuidado

Isto registra uma variável global. Se você quiser registrar uma variável dntro de uma função, você deve certificar-se de faze-la global, usando global ou usando a matriz $GLOBALS[], ou usando a matriz especial para seções($_SESSION) como mostrado abaixo.

Cuidado

Se você esta usando $_SESSION (ou $HTTP_SESSION_VARS), não use session_register(), session_is_registered() e session_unregister().

Esta função retorna TRUE quando todas de suas variáveis são registradas sem erro.

Se session_start() não foi chamada antes desta função ser chamada, uma chamada implícita para session_start() sem parâmetros será feita. $_SESSION não imita isto e necessita que session_start() seja chamada antes de usar.

Você também pode criar variáveis de sessão simplesmente definindo o membro apropriado de $_SESSION ou $HTTP_SESSION_VARS (PHP < 4.1.0) matriz.

<?php
// O uso de session_register() esta obsoleto
$barney "Um grande dinossauro púrpura.";
session_register("barney");
// O uso de $_SESSION é recomendado, apartir do PHP 4.1.0
$_SESSION["zim"] = "Um invasor de outro planeta.";

// A maneira antiga é usar $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "Ele conseguiu calças ajustadas.";
?>

Nota: Não é possível registrar atualmente variáveis resource numa sessão. Por exemplo, você não pode criar uma conexão para um banco de dados e guardar a id de conexão como uma variável de sessão e esperar que a conexão ainda esteja válida na próxima vez que a sessão estiver restaurada. Funções do PHP que retornam uma resource são identificadas por conterem um retorno do tipo resource em suas definições de função. Uma lista de funções que retornam resources estão disponíveis no apêndice tipos resources.
Se $_SESSION (ou $HTTP_SESSION_VARS para PHP 4.0.6 ou inferior) é usada, para variável definida variable com $_SESSION. i.e. $_SESSION['var'] = 'ABC';

Veja também session_is_registered(), session_unregister() e $_SESSION.