mirror of
https://github.com/php/doc-de.git
synced 2026-03-24 15:22:14 +01:00
113 lines
4.3 KiB
XML
113 lines
4.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: ba6a83ca3558574695be5ef0a0e008e4e5f78ddb Maintainer: samesch Status: ready -->
|
|
|
|
<book xml:id="book.session" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<?phpdoc extension-membership="bundled" ?>
|
|
<title>Sessionbehandlung</title>
|
|
<titleabbrev>Sessions</titleabbrev>
|
|
|
|
<!-- {{{ preface -->
|
|
<preface xml:id="intro.session">
|
|
&reftitle.intro;
|
|
<para>
|
|
Die Unterstützung von Sessions in PHP bietet die Möglichkeit, bestimmte
|
|
Daten während einer Folge von Aufrufen einer Website festzuhalten.
|
|
</para>
|
|
<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.
|
|
</para>
|
|
<para>
|
|
Die Unterstützung von Sessions erlaubt es, Daten zwischen Anfragen im
|
|
superglobalen Array <varname>$_SESSION</varname> zu speichern. Wenn ein
|
|
Besucher eine Website aufruft, überprüft PHP automatisch (falls
|
|
<link linkend="ini.session.auto-start">session.auto_start</link> auf 1
|
|
gesetzt ist) oder auf Anfrage (explizit durch
|
|
<function>session_start</function>), ob mit der Anfrage schon eine
|
|
bestimmte Session-ID gesendet wurde. Wenn dies der Fall ist, wird die zuvor
|
|
gespeicherte Umgebung wiederhergestellt.
|
|
</para>
|
|
<caution>
|
|
<para>
|
|
Falls <link linkend="ini.session.auto-start">session.auto_start</link>
|
|
aktiviert ist, können Objekte nur dann in Sessions aufgenommen werden,
|
|
wenn die Klassendefinition mittels
|
|
<link linkend="ini.auto-prepend-file">auto_prepend_file</link> geladen
|
|
wird. Andernfalls muss das Objekt mittels <function>serialize</function>
|
|
serialisiert werden und danach mittels <function>unserialize</function>
|
|
deserialisiert werden.
|
|
</para>
|
|
</caution>
|
|
<para>
|
|
<varname>$_SESSION</varname> (und alle registrierten Variablen) werden
|
|
intern von PHP unter Verwendung der in der Konfigurationseinstellung
|
|
<link linkend="ini.session.serialize-handler">session.serialize_handler</link>
|
|
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.
|
|
</para>
|
|
<warning>
|
|
<para>
|
|
Weil Session-Daten serialisiert werden, können Variablen vom Typ
|
|
<type>resource</type> nicht in der Session gespeichert werden.
|
|
</para>
|
|
<para>
|
|
Die Serialisierungsroutinen (<literal>php</literal> und
|
|
<literal>php_binary</literal>) erben die Beschränkungen für
|
|
register_globals. Daher können numerische Indizes oder alphanumerische
|
|
Indizes, die Sonderzeichen (<literal>|</literal> und <literal>!</literal>)
|
|
enthalten, nicht verwendet werden. Deren Verwendung erzeugt Fehler beim
|
|
Beenden des Skripts. <literal>php_serialize</literal> hat diese
|
|
Einschränkungen nicht.
|
|
</para>
|
|
</warning>
|
|
<note>
|
|
<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 <varname>$_SESSION</varname>
|
|
registriert wurde. Das gilt auch dann, wenn eine Session mit der Funktion
|
|
<function>session_start</function> gestartet wurde.
|
|
</para>
|
|
</note>
|
|
</preface>
|
|
<!-- }}} -->
|
|
|
|
&reference.session.setup;
|
|
&reference.session.constants;
|
|
&reference.session.examples;
|
|
&reference.session.upload-progress;
|
|
&reference.session.security;
|
|
&reference.session.reference;
|
|
&reference.session.sessionhandler;
|
|
&reference.session.sessionhandlerinterface;
|
|
&reference.session.sessionidinterface;
|
|
&reference.session.sessionupdatetimestamphandlerinterface;
|
|
|
|
</book>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|
|
|