Hallo Gunnar,
if($id_landessprache == "de") { include('contenttextblock_de.html'); } else { if($id_landessprache == "en") { include('contenttextblock_en.html'); } }
Das kannst du kürzer haben:
include('contenttextblock_' . $id_landessprache . '.html');
Kann er, sollte er aber nicht, denn die Variable muss von aussen kommen.
Tassilo, du hast noch nicht verstanden wie das mit den Verschiedenen Phasen einen Requests abläuft. Du setzt hier:
<ul id="navigation_linke_box">
<li>
<a href="<?php $id_landessprache= "de"; ?>">DE</a>
<a href="<?php $id_landessprache= "en"; ?>">ENG</a><div></div>
</li>
</ul>
Die Variable für die Sprachwahl auf de
bzw en
- aber das kommt beim Server ja nie an. Wenn du dann auf einen der Links klickst, wird nur dein Dokument neu angefordert, weil das href
-Attribut leer ist. Du musst zweierlei machen: einerseits musst du die Information z.B. über den Query-String an den Server übertragen, indem du deine Links z.B. so gestaltest:
<a href="?id_landessprache=de">DE</a>
<a href="?id_landessprache=en">ENG</a>
Weiterhin steht bei dir weiter oben im Script folgende Zeile:
<?php
$id_landessprache= "de";
?>
Damit überschreibst du die Variable natürlich immer wieder. Gestalte die Zeile so:
<?php
if(empty($id_landessprache) {
$id_landessprache = "de";
}
?>
Ansonsten gestalte dein if else
-Konstrukt lieber so:
<?php
if($id_landessprache == "en") {
include('contenttextblock_en.html');
}
else {
include('contenttextblock_de.html');
}
?>
Das sorgt dafür, dass du auch dann Deutsch anzeigst, wenn der User an der URL rumspielt und du invalide Strings bekommst.
LG,
CK