(PHP 4, PHP 5, PHP 7, PHP 8)
session_name — Liefert und/oder setzt den Namen der aktuellen Session
session_name() gibt den Namen der aktuellen Session zurück. Falls name
angegeben wurde, aktualisiert session_name() den Namen der Session und gibt den alten Namen der Session zurück.
Wird ein neuer Session-Name (name
) angegeben, ändert session_name() das HTTP-Cookie (und den Inhalt der Ausgabe, wenn session.transid
aktiv ist). Nachdem das HTTP-Cookie gesendet wurde, erzeugt session_name() einen Fehler. session_name() muss vor session_start() aufgerufen werden, damit die Session ordnungsgemäß funktioniert.
Der Session-Name wird auf den Ausgangswert zurückgesetzt, der zu Beginn in session.name
gespeichert wurde. Deshalb muss session_name() bei jeder Anfrage aufgerufen werden (und bevor session_start() aufgerufen wurde).
name
Der Session-Name referenziert den Namen der Session, der in Cookies und URLs verwendet wird (z. B. PHPSESSID
). Er sollte nur alphanumerische Zeichen enthalten und sollte kurz und beschreibend sein (z. B. für Benutzer mit aktivierter Cookie-Warnung). Wenn name
angegeben wird und nicht null
ist, wird der Name der aktuellen Session durch dessen Wert ersetzt.
Der Session-Name darf nicht nur aus Zahlen bestehen, sondern muss mindestens einen Buchstaben enthalten. Andernfalls wird jedesmal eine neue Session-ID erzeugt.
Gibt den Namen der aktuellen Session zurück. Wird name
übergegeben und die Funktion aktualisiert den Session-Namen, wird der Name der alten Session zurückgegeben. Bei einem Fehler wird false
zurückgegeben.
Version | Beschreibung |
---|---|
8.0.0 | name ist jetzt nullable (akzeptiert den NULL-Wert). |
7.2.0 | session_name() prüft den Session-Status; zuvor wurde nur der Cookie-Status geprüft. Somit war es zuvor möglich, dass session_name() nach session_start() aufgerufen wurde, was möglicherweise zum Absturz von PHP und zu anderem Fehlverhalten führen konnte. |
Beispiel #1 session_name()-Beispiel
<?php
$name_vorher = session_name ("WebsiteID");
echo "Der vorhergehende Session-Name war $name_vorher<br />";
?>