Hier der erste fehlerhafte Ansatz
Code:
//Vorbelegung von Sprache und Hauptkategorie
(isset($_SESSION['lang'])) ? $lang = $_SESSION['lang'] : $lang = "DE";
(isset($_SESSION['hauptkat'])) ? $hauptkat = $_SESSION['hauptkat'] : $hauptkat = "Kleidung";
...
<section id="menubar">
<ul>
<li><a class="menubutton" href="#menu"><img src="../Buttons/menu.png"></a></li>
<?php
if ($lang == "DE")
{
$_SESSION['lang'] = "EN";
$_SESSION['hauptkat'] = $hauptkat;
?>
<li class="language"><a href="index.php">English</a></li>
<li class="language"><a class="active" href="index.php">Deutsch</a></li>
<?php
}
else
{
$_SESSION['lang'] = "DE";
$_SESSION['hauptkat'] = $hauptkat;
?>
<li class="language"><a class="active" href="index.php">English</a></li>
<li class="language"><a href="index.php">Deutsch</a></li>
<?php
}
?>
</ul>
</section>
...
//Auswahl der Hauptkategorie
<nav>
<ul>
<?php
//Kategorien nach Hauptkategorien geordnet
$sql_hk = "SELECT * FROM Hauptkategorien";
$result_hk = mysqli_query($db, $sql_hk);
while($object_hk = mysqli_fetch_object($result_hk))
{
$hkat = ($lang == "DE") ? $object_hk->Deutsch : $object_hk->Englisch; //Bezeichnung Link Hauptkategorie
$hk = $object_hk->Deutsch; //Interne Bezeichnung der Hauptkategorie
if ($hk == $hauptkat)
{
$_SESSION['hauptkat'] = $hk;
?>
<li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>" class="active"><?=$hkat?></a></li>
<?php
}
else
{
$_SESSION['hauptkat'] = $hk;
?>
<li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>"><?=$hkat?></a></li>
<?php
}
}
?>
</ul>
</nav>
...
Die Sprachumschaltung scheint so zu funktionieren.
Aber: Die Auswahl der Hauptkategorie funktioniert gar nicht, statt dessen schaltet die Sprache um!