Suppengrün: Notice: Undefined index bei Session-Variablen

Beitrag lesen

Setze …

require ("standardFunktionen.php");

function seiteAufbauen()
{

var_dump($_SESSION);

initialisieren();

var_dump($_SESSION);

sprachauswahlKonfigurieren(); }

function initialisieren()
{

var_dump($_SESSION);

if (!isset ($_SESSION["seite"]) || !preg_match ("/^(home|band|...)$/", $_SESSION["seite"])) { $_SESSION["seite"] = "home"; }

var_dump($_SESSION);

if (!isset ($_SESSION["sprache"]) || !preg_match ("/^(d|e)$/", $_SESSION["sprache"])) { spracheKonfigurieren(); }

var_dump($_SESSION);

}

function sprachauswahlKonfigurieren() {

var_dump($_SESSION);

if ($_SESSION["sprache"] == "d") <=== [1] { $klasse = "englisch"; $auswahl = "e"; } else { $klasse = "deutsch"; $auswahl = "d"; }

$onclick = 'seiteAufrufen("' . $_SESSION["seite"] . '", ' . (isset ($_SESSION["unterseite"]) ? $_SESSION["unterseite"] : "") . '")'; <=== [2]

echo '<div id="sprachauswahl" class="' . $klasse . '" onclick=' . $onclick . '></div>'; }

… um das Problem einzugrenzen.

Es kann eigentlich nicht sein, dass du in initialisieren() $_SESSION["seite"] belegst und in dem gleich in der nächsten Zeile folgenden Funktionsaufruf von sprachauswahlKonfigurieren() eben dieser gerade gesetzte Wert nicht mehr existieren soll.

Der exzessive Gebrauch von Debug-Ausgaben sollte gerade für solche Unmöglichkeiten der Weg der Wahl sein.