PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

$_ENV> <$_REQUEST
Last updated: Fri, 14 Nov 2008

view this page in

$_SESSION

$HTTP_SESSION_VARS [veraltet, nicht empfohlen]

$_SESSION -- $HTTP_SESSION_VARS [veraltet, nicht empfohlen]Sessionvariablen

Beschreibung

Ein assoziatives Array, das die Sessionvariablen enthält und dem aktuellen Skript zur Verfügung stellt. Lesen Sie den Abschnitt Sessionfunktinen der Dokumentation, um weitere Informationen zur Verwendung zu erhalten.

$HTTP_SESSION_VARS enthält anfangs die selben Informationen, ist aber kein Superglobal. (Beachten Sie, dass $HTTP_SESSION_VARS und $_SESSION unterschiedliche Variablen sind und von PHP daher entsprechend behandelt werden.)

ChangeLog

Version Beschreibung
4.1.0 Einführung von $_SESSION als Ablösung des bis dahin existierenden $HTTP_SESSION_VARS.

Anmerkungen

Hinweis: Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet das sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig sie mit global $variable bekannt zu machen um aus Funktionen oder Methoden darauf zuzugreifen.

Siehe auch



$_ENV> <$_REQUEST
Last updated: Fri, 14 Nov 2008
 
add a note add a note User Contributed Notes
$_SESSION
bohwaz
01-Sep-2008 12:43
Please note that if you have register_globals to On, global variables associated to $_SESSION variables are references, so this may lead to some weird situations.

<?php

session_start
();

$_SESSION['test'] = 42;
$test = 43;
echo
$_SESSION['test'];

?>

Load the page, OK it displays 42, reload the page... it displays 43.

The solution is to do this after each time you do a session_start() :

<?php

if (ini_get('register_globals'))
{
    foreach (
$_SESSION as $key=>$value)
    {
        if (isset(
$GLOBALS[$key]))
            unset(
$GLOBALS[$key]);
    }
}

?>
Steve Clay
17-Aug-2008 04:28
Unlike a real PHP array, $_SESSION keys at the root level must be valid variable names.

<?php
$_SESSION
[1][1] = 'cake'; // fails

$_SESSION['v1'][1] = 'cake'; // works
?>

I imagine this is an internal limitation having to do with the legacy function session_register(), where the registered global var must similarly have a valid name.
jherry at netcourrier dot com
02-Aug-2008 02:16
You may have trouble if you use '|' in the key:

$_SESSION["foo|bar"] = "fuzzy";

This does not work for me. I think it's because the serialisation of session object is using this char so the server reset your session when it cannot read it.

To make it work I replaced '|' by '_'.

$_ENV> <$_REQUEST
Last updated: Fri, 14 Nov 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites