Podręcznik PHP
Poprzedni |  | Następny

# session_register

(PHP 4, PHP 5)

session_register -- Zarejestruj jedną lub więcej zmiennych globalnych w bieżącej sesji

## Opis

bool session_register ( mixed nazwa [, mixed ...] )

session_register() jest funkcją o zmiennej liczbie argumentów, z których każdy może być albo stringiem zawierającym nazwę zmiennej lub tablicą zawierającą nazwy zmiennych lub inne tablice. Dla każdej napotkanej nazwy zmiennej, session_register() rejestruje w bieżącej sesji globalną zmienną o danej nazwie.

Uwaga!
Jeśli skrypt ma działać niezależnie od ustawienia register_globals, niezbędne jest użycie tablicy $_SESSION, jako że elementy $_SESSION są atomatycznie rejestrowane. Jeśli skrypt korzysta z session_register(), nie będzie on działać w środowisku z wyłączoną dyrektywą register_globals.

> register_globals: ważna uwaga: Od PHP w wersji 4.2.0 domyślną wartością dyrektywy register_globals jest off. Społeczność PHP zaleca, aby nie polegać na tej dyrektywie, ale zamiast tego używać innych środków, takich jak superglobals.

Uwaga!
Funkcja ta rejestruje globalną zmienną. Jeśli zachodzi konieczność zarejestrowania zmiennej sesyjnej z wnętrza funkcji, należy uczynić ją globalną poprzez użycie instrukcji global, przez tablicę $GLOBALS[] lub prez użycie specjalnych tablic opisanych poniżej.

Uwaga!
Przy korzystaniu z tablicy $_SESSION (lub $HTTP_SESSION_VARS) nie nalezy korzystać z funkcji session_register(), session_is_registered() i session_unregister().

Funkcja ta zwraca wartość `TRUE` jeśli wszystkie zmienne zostały pomyślnie zarejestrowane w sesji.

Jeśli przed wywołaniem tej funkcji nie wywołano session_start(), dokonane zostanie niejawne wywołanie session_start() bez żadnych parametrów. Tablica $_SESSION nie naśladuje tego zachowania i wymaga wywołania session_start() przed korzystaniem z niej.

Możesz tworzyć zmienne sesyjne po prostu przez dopisywanie odpowiednich wpisów do tablic $_SESSION lub $HTTP_SESSION_VARS (PHP < 4.1.0).

`<?php // Nie powinno się już używać session_register() $barney = "Duży fioletowy dinozaur."; session_register("barney"); // Od PHP 4.1.0 Preferowane jest użycie $_SESSION $_SESSION["zim"] = "Najeźdźca z innej planety."; // Stara metoda opiera się o $HTTP_SESSION_VARS $HTTP_SESSION_VARS["spongebob"] = "Ma kwadratowe spodnie."; ?>`

> Notatka: W chwili obecnej niemożliwe jest zarejestrowanie w sesji zmiennych zawierających zasoby. Na przykład, nie możesz stworzyć połączenia do bazy danych i zachować identyfikator połączenia jako zmienną sesyjną i oczekować, że połączenie ciągle będzie aktywne po odtworzeniu danych sesji. Funkcję PHP, która zwraca zasoby, identyfikuje się przez zwracanie typu resource w definicji funkcji. Listę funkcji, które zwracają zasoby, można znaleźć w załączniku typy zasobów.

> Jeśli użyta jest tablica $_SESSION (lub $HTTP_SESSION_VARS dla PHP 4.0.6 i starszych), przypisz vartość do $_SESSION, na przykład $_SESSION['var'] = 'ABC';

Patrz także: session_is_registered(), session_unregister() i $_SESSION.

Poprzedni | Spis treści | Następny
session_regenerate_id | Początek rozdziału | session_save_path