Hallo Hank,
warum erhalte ich als Ausgabe bei folgendem php-code in der letzten zeile eine 1, obwohl die Session ja gestartet sein sollte?
echo "Session-Status_vor_start = ".session_status(); // Prüfen, ob eine Sitzung bereits gestartet wurde if(session_status() != 2) { // Sitzung starten session_start(); } echo "Session-Status_nach_start = ".session_status();
weil du mit dem echo in der ersten Zeile die erste Ausgabe machst. Damit werden die HTTP-Header für die Seite gesendet und können danach nicht mehr geändert oder ergänzt werden. Das session_start() möchte eigentlich ein Cookie setzen, kann das aber nicht mehr und bleibt deshalb wirkungslos.
Saubere Lösung: Gib den Wert in der ersten Zeile nicht direkt aus, sondern speichere ihn nur und mach alle Ausgaben später im Script en bloc.
The dirty way: Nutze Output Buffering.
Einen schönen Tag noch
Martin
--
Kaffee ist nur schädlich, wenn Ihnen ein ganzer Sack aus dem 5. Stock auf den Kopf fällt.
Kaffee ist nur schädlich, wenn Ihnen ein ganzer Sack aus dem 5. Stock auf den Kopf fällt.