PHP: session_start() ohne Notice

edit | delete

Autor: Ralf v.d.Mark

eingetragen: Freitag, 14. Januar 2022 um 10:10 Uhr (2/2022 Kalenderwoche)

geändert: Freitag, 14. Januar 2022 um 10:25 Uhr (2/2022 Kalenderwoche)

Keywords: session_start session_status PHP_SESSION_ACTIVE aktiv

Kategorien: PHP,

Text:

Manchmal muss man prüfen, ob die Session schon läuft, bzw. gestartet wurde (aktiv ist).


Falls sie vorher schon gestartet wurde, kann man mit untenstehendem Code die PHP-Notice verhindern.


Verwende immer session_status(), um zu prüfen, ob eine Sitzung bereits gestartet und aktiv ist.
if (session_status() !== PHP_SESSION_ACTIVE) session_start();
oder
if (session_status() === PHP_SESSION_NONE) session_start();


Bitte nicht verwenden:
if (!isset($_SESSION)) session_start();
oder
if (session_id() === "") session_start();


Siehe php.net "function.session-status"

Quellcode:  

if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();//Muss an Anfang eröffnet werden
}