Bisher wurden Variablen über $_GET weiter gereicht. Das funktioniert, stellt aber durch die Sichtbarkeit der Parametr in der Adresszeile ein Sicherheitsrisiko dar.
Codeausschnitt:
Code:
<!-- Vorbelegung von Sprache und Hauptkategorie -->
(isset($_GET['lang'])) ? $lang = $_GET['lang'] : $lang = "DE";
$_SESSION['lang'] = $lang;
(isset($_GET['hauptkat'])) ? $hauptkat = $_GET['hauptkat'] : $hauptkat = "Kleidung";
...
<!-- Sprachumschaltung Deutsch/Englisch -->
<section id="menubar">
<ul>
<li><a class="menubutton" href="#menu"><img src="../Buttons/menu.png"></a></li>
<?php
if ($lang == "DE")
{
?>
<li class="language"><a href="index.php?lang=EN&hauptkat=<?=$hauptkat?>">English</a></li>
<li class="language"><a class="active" href="index.php?lange=DE&hauptkat=<?=$hauptkat?>">Deutsch</a></li>
<?php
}
else
{
?>
<li class="language"><a class="active" href="index.php?lange=EN&hauptkat=<?=$hauptkat?>">English</a></li>
<li class="language"><a href="index.php?lange=DE&hauptkat=<?=$hauptkat?>">Deutsch</a></li>
<?php
}
?>
</ul>
</section>
...
<!-- Auswahl der Hauptkategorie -->
...
<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)
{
?>
<li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>" class="active"><?=$hkat?></a></li>
<?php
}
else
{
?>
<li><a href="index.php?hauptkat=<?=$hk?>&lang=<?=$lang?>"><?=$hkat?></a></li>
<?php
}
}
?>
</ul>
...
Wenn ich jetzt analog anstelle von $_GET die Veriablen in $_SESSION versuche abzulegen, funktioniert entweder nichts mehr oder ich schaffe es zwar für die Sprachumschaltung aber nicht für die Auswahl der Hauptkategorie.
Falls gewünscht, kann ich auch einen nicht funktionierenden Ansatz hier einstellen, vielleicht findet ja jemand den Logik-Fehler, den ich hier vermute.
Wer den derzeitigen Code in Aktion sehen möchte:
http://reifrockmaus.de
mfg
Detlev