<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.session.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'book.session.php',
    1 => 'Sessions',
    2 => 'Sessionbehandlung',
  ),
  'up' => 
  array (
    0 => 'refs.basic.session.php',
    1 => 'Session-Erweiterungen',
  ),
  'prev' => 
  array (
    0 => 'refs.basic.session.php',
    1 => 'Session-Erweiterungen',
  ),
  'next' => 
  array (
    0 => 'session.setup.php',
    1 => 'Installation/Konfiguration',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/session/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.session.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.session" class="book">
 
 <h1 class="title">Sessionbehandlung</h1>
 

 
 <div id="intro.session" class="preface">
  <h1 class="title">Einführung</h1>
  <p class="para">
   Die Unterstützung von Sessions in PHP bietet die Möglichkeit, bestimmte
   Daten während einer Folge von Aufrufen einer Website festzuhalten.
  </p>
  <p class="para">
   Einem Besucher wird beim Aufruf einer Website eine eindeutige ID, die
   sogenannte Session-ID, zugeordnet. Diese wird entweder benutzerseitig in
   einem Cookie abgelegt oder in der URL übermittelt.
  </p>
  <p class="para">
   Die Unterstützung von Sessions erlaubt es, Daten zwischen Anfragen im
   superglobalen Array <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> zu speichern. Wenn ein
   Besucher eine Website aufruft, überprüft PHP automatisch (falls
   <a href="session.configuration.php#ini.session.auto-start" class="link">session.auto_start</a> auf 1
   gesetzt ist) oder auf Anfrage (explizit durch
   <span class="function"><a href="function.session-start.php" class="function">session_start()</a></span>), ob mit der Anfrage schon eine
   bestimmte Session-ID gesendet wurde. Wenn dies der Fall ist, wird die zuvor
   gespeicherte Umgebung wiederhergestellt.
  </p>
  <div class="caution"><strong class="caution">Achtung</strong>
   <p class="para">
    Falls <a href="session.configuration.php#ini.session.auto-start" class="link">session.auto_start</a>
    aktiviert ist, können Objekte nur dann in Sessions aufgenommen werden,
    wenn die Klassendefinition mittels
    <a href="ini.core.php#ini.auto-prepend-file" class="link">auto_prepend_file</a> geladen
    wird. Andernfalls muss das Objekt mittels <span class="function"><a href="function.serialize.php" class="function">serialize()</a></span>
    serialisiert werden und danach mittels <span class="function"><a href="function.unserialize.php" class="function">unserialize()</a></span>
    deserialisiert werden.
   </p>
  </div>
  <p class="para">
   <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var> (und alle registrierten Variablen) werden
   intern von PHP unter Verwendung der in der Konfigurationseinstellung
   <a href="session.configuration.php#ini.session.serialize-handler" class="link">session.serialize_handler</a>
   festgelegten Serialisierungsroutine serialisiert, nachdem die Anfrage
   beendet ist. Registrierte Variablen, die nicht definiert sind, werden als
   nicht definiert gekennzeichnet. Auch bei den folgenden Zugriffen werden sie
   nicht vom Session-Modul definiert, außer der Benutzer definiert sie später.
  </p>
  <div class="warning"><strong class="warning">Warnung</strong>
   <p class="para">
    Weil Session-Daten serialisiert werden, können Variablen vom Typ
    <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span> nicht in der Session gespeichert werden.
   </p>
   <p class="para">
    Die Serialisierungsroutinen (<code class="literal">php</code> und
    <code class="literal">php_binary</code>) erben die Beschränkungen für
    register_globals. Daher können numerische Indizes oder alphanumerische
    Indizes, die Sonderzeichen (<code class="literal">|</code> und <code class="literal">!</code>)
    enthalten, nicht verwendet werden. Deren Verwendung erzeugt Fehler beim
    Beenden des Skripts. <code class="literal">php_serialize</code> hat diese
    Einschränkungen nicht.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Es ist beim Arbeiten mit Sessions zu beachten, dass der Datensatz einer
    Session erst dann erstellt wird, wenn eine Variable durch Hinzufügen eines
    neuen Schlüssels zum superglobalen Array <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>
    registriert wurde. Das gilt auch dann, wenn eine Session mit der Funktion
    <span class="function"><a href="function.session-start.php" class="function">session_start()</a></span> gestartet wurde.
   </p>
  </p></blockquote>
 </div>
 

 








 








 









 









 








 








 






 






 






 







<ul class="chunklist chunklist_book"><li><a href="session.setup.php">Installation/Konfiguration</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="session.requirements.php">Anforderungen</a></li><li><a href="session.installation.php">Installation</a></li><li><a href="session.configuration.php">Laufzeit-Konfiguration</a></li></ul></li><li><a href="session.constants.php">Vordefinierte Konstanten</a></li><li><a href="session.examples.php">Beispiele</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="session.examples.basic.php">Grundlegende Anwendung</a></li><li><a href="session.idpassing.php">&Uuml;bermittlung der Session-ID</a></li><li><a href="session.customhandler.php">Individuelle Session-Routinen</a></li></ul></li><li><a href="session.upload-progress.php">Fortschritt eines Uploads in einer Session</a></li><li><a href="session.security.php">Sessions und Sicherheit</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="features.session.security.management.php">Grundlagen der Session-Verwaltung</a></li><li><a href="session.security.ini.php">INI-Einstellungen f&uuml;r die Sicherheit von Sessions</a></li></ul></li><li><a href="ref.session.php">Session-Funktionen</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.session-abort.php">session_abort</a> — Verwirft &Auml;nderungen am Session-Array und beendet die Session</li><li><a href="function.session-cache-expire.php">session_cache_expire</a> — Liefert und/oder setzt die aktuelle Cache-Verfallszeit</li><li><a href="function.session-cache-limiter.php">session_cache_limiter</a> — Liefert und/oder setzt die aktuelle Cacheverwaltung</li><li><a href="function.session-commit.php">session_commit</a> — Alias von session_write_close</li><li><a href="function.session-create-id.php">session_create_id</a> — Erzeugt eine neue Session-ID</li><li><a href="function.session-decode.php">session_decode</a> — Dekodiert die Daten einer Session aus einer session-kodierten Zeichenkette</li><li><a href="function.session-destroy.php">session_destroy</a> — L&ouml;scht alle in einer Session registrierten Daten</li><li><a href="function.session-encode.php">session_encode</a> — Kodiert die Daten der aktuellen Session als session-kodierte Zeichenkette</li><li><a href="function.session-gc.php">session_gc</a> — F&uuml;hrt die Garbage Collection der Session-Daten durch</li><li><a href="function.session-get-cookie-params.php">session_get_cookie_params</a> — Liefert die Parameter des Session-Cookies</li><li><a href="function.session-id.php">session_id</a> — Liefert und/oder setzt die aktuelle Session-ID</li><li><a href="function.session-module-name.php">session_module_name</a> — Liefert und/oder setzt das aktuelle Session-Modul</li><li><a href="function.session-name.php">session_name</a> — Liefert und/oder setzt den Namen der aktuellen Session</li><li><a href="function.session-regenerate-id.php">session_regenerate_id</a> — Ersetzt die aktuelle Session-ID durch eine neu erzeugte</li><li><a href="function.session-register-shutdown.php">session_register_shutdown</a> — Funktion zum Schlie&szlig;en von Sessions</li><li><a href="function.session-reset.php">session_reset</a> — Initialisiert das Session-Array mit seinen urspr&uuml;nglichen Werten neu</li><li><a href="function.session-save-path.php">session_save_path</a> — Liefert und/oder setzt den aktuellen Speicherpfad der Session</li><li><a href="function.session-set-cookie-params.php">session_set_cookie_params</a> — Setzt die Session-Cookie-Parameter</li><li><a href="function.session-set-save-handler.php">session_set_save_handler</a> — Setzt benutzerdefinierte Session-Speicherfunktionen</li><li><a href="function.session-start.php">session_start</a> — Erzeugt eine neue Session oder setzt eine vorhandene fort</li><li><a href="function.session-status.php">session_status</a> — Liefert den Status der aktuellen Session</li><li><a href="function.session-unset.php">session_unset</a> — L&ouml;scht alle Session-Variablen</li><li><a href="function.session-write-close.php">session_write_close</a> — Speichert die Session-Daten und beendet die Session</li></ul></li><li><a href="class.sessionhandler.php">SessionHandler</a> — Die Klasse SessionHandler<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionhandler.close.php">SessionHandler::close</a> — Schlie&szlig;t eine Session</li><li><a href="sessionhandler.create-sid.php">SessionHandler::create_sid</a> — Liefert eine neue Session-ID</li><li><a href="sessionhandler.destroy.php">SessionHandler::destroy</a> — L&ouml;scht eine Session</li><li><a href="sessionhandler.gc.php">SessionHandler::gc</a> — L&ouml;scht alte Sessions</li><li><a href="sessionhandler.open.php">SessionHandler::open</a> — Initialisiert eine Session</li><li><a href="sessionhandler.read.php">SessionHandler::read</a> — Ruft die Session-Daten ab</li><li><a href="sessionhandler.write.php">SessionHandler::write</a> — Speichert die Session-Daten</li></ul></li><li><a href="class.sessionhandlerinterface.php">SessionHandlerInterface</a> — Die Schnittstelle SessionHandlerInterface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionhandlerinterface.close.php">SessionHandlerInterface::close</a> — Schlie&szlig;t eine Session</li><li><a href="sessionhandlerinterface.destroy.php">SessionHandlerInterface::destroy</a> — L&ouml;scht eine Session</li><li><a href="sessionhandlerinterface.gc.php">SessionHandlerInterface::gc</a> — L&ouml;scht alte Sessions</li><li><a href="sessionhandlerinterface.open.php">SessionHandlerInterface::open</a> — Initialisiert eine Session</li><li><a href="sessionhandlerinterface.read.php">SessionHandlerInterface::read</a> — Ruft die Session-Daten ab</li><li><a href="sessionhandlerinterface.write.php">SessionHandlerInterface::write</a> — Speichert die Session-Daten</li></ul></li><li><a href="class.sessionidinterface.php">SessionIdInterface</a> — Die Schnittstelle SessionIdInterface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionidinterface.create-sid.php">SessionIdInterface::create_sid</a> — Erzeugt eine Session-ID</li></ul></li><li><a href="class.sessionupdatetimestamphandlerinterface.php">SessionUpdateTimestampHandlerInterface</a> — Die Schnittstelle SessionUpdateTimestampHandlerInterface<ul class="chunklist chunklist_book chunklist_children"><li><a href="sessionupdatetimestamphandlerinterface.updatetimestamp.php">SessionUpdateTimestampHandlerInterface::updateTimestamp</a> — Aktualisiert den Zeitstempel</li><li><a href="sessionupdatetimestamphandlerinterface.validateid.php">SessionUpdateTimestampHandlerInterface::validateId</a> — Validiert eine ID</li></ul></li></ul></div><?php manual_footer($setup); ?>