session_register — Zarejestruj jedną lub więcej zmiennych globalnych w bieżącej sesji
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.
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.
Informacja: register_globals: ważna uwaga
Od PHP 4.2.0 domyślną wartością dyrektywy register_globals jest off, i zostanie całkowicie usunięta w PHP 6.0.0. Społeczność PHP zaleca programistom, aby nie stosowali tej dyrektywy, i zamiast niej używali innych sposobów, takich jak superglobals.
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.
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.";
?>
Informacja: 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';
Listing
Ranga: Administrator serwisu Punktów: 0