Function.session-register
Aus PHP-Wiki
session_register — Registriert eine oder mehrere globale Variablen in der aktuellen Session
Inhaltsverzeichnis |
Beschreibung
bool session_register (mixed $Name [,mixed $... ] )
session_register() akzeptiert eine variable Anzahl von
Argumenten, die jeweils entweder eine Zeichenkette sein können, die den
Namen einer Variablen trägt, oder ein Array, das aus solchen Variablennamen
oder anderen Arrays besteht. Für jeden Namen registriert
session_register() die globale Variable mit diesem Namen
in der aktuellen Session.
Sie können eine Session-Variable auch erzeugen, indem Sie das entsprechende
Element des $_SESSION- oder (PHP <= 4.1.0)
$HTTP_SESSION_VARS-Arrays setzen.
<?php
// Sie sollten session_register() nicht verwenden
$barney = "A big purple dinosaur.";
session_register("barney");
// Ab PHP 4.1.0 ist die Verwendung von $_SESSION vorzuziehen
$_SESSION["zim"] = "An invader from another planet.";
// Die alte Methode war, $HTTP_SESSION_VARS zu verwenden
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>
Wenn session_start() nicht vor dieser Funktion
aufgerufen wurde, erfolgt ein impliziter Aufruf von
session_start() ohne Parameter.
$_SESSION ahmt dieses Verhalten nicht nach und benötigt
den Aufruf von session_start() bevor es verwendet wird.
Parameter-Liste
- Name
- Eine Zeichenkette, die den Namen einer Variablen trägt, oder ein Array, das aus solchen Variablennamen oder anderen Arrays besteht.
- ...
Rückgabewerte
Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.
Anmerkungen
Achtung
Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert,
müssen Sie stattdessen das Array $_SESSION verwenden,
weil $_SESSION-Einträge automatisch registriert werden.
Wenn Sie in Ihrem Script session_register() verwenden,
funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.
Hinweis: register_globals: Wichtiger
Hinweis
Seit PHP 4.2.0 ist die Standardeinsteillung für die
Konfigurationsoption
register_globals off und in PHP 6 wird
diese Option endgültig entfernt. Die PHP Community ermutigt
alle, sich nicht auf diese Option zu verlassen und Alternativen wie
superglobals zu verwenden.
Achtung
Diese Funktion registriert eine globale Variable.
Wenn Sie eine Session-Variable innerhalb einer Funktion registrieren
wollen, müssen Sie sicherstellen, dass Sie sie unter Verwendung des global-Schlüsselworts
oder des $GLOBALS[]-Arrays global machen oder die
nachstehend vermerkten speziellen Session-Arrays verwenden.
Achtung
Wenn Sie $_SESSION (oder
$HTTP_SESSION_VARS) verwenden, sollten Sie nicht
session_register(),
session_is_registered() und
session_unregister() verwenden.
Hinweis:
Gegenwärtig ist es nicht möglich, Ressourcen-Variablen in einer Session zu
registrieren. Zum Beispiel können Sie nicht erwarten, dass die als
Session-Variable gespeicherte Verbindungs-Kennung der zu einer Datenbank
aufgebauten Verbindung bei der nächsten Wiederherstellung der Session noch
gültig ist. PHP-Funktionen, die eine Ressource zurückgeben, können daran
erkannt werden, dass sie einen Rückgabewert resource in
ihrer Funktionsdefinition haben. Eine Liste der Funktionen, die Ressourcen
zurückgeben befindet sich im Anhang Liste von PHP
Ressourcen.
Bei Verwendung von $_SESSION (oder
$HTTP_SESSION_VARS bei PHP 4.0.6 oder niedriger) weisen
Sie $_SESSION einen Wert zu, also $_SESSION['var'] =
'ABC';