Sprachänderung mit include Datei
Olli
- php
Hallo,
ich habe da ein Problem mit meine Sprachnavigation.
Ich habe eine include Datei:
<?
if ($Language == 2)
{$_SESSION['Language'] = 2;}
elseif ($Language == 1)
{$_SESSION['Language'] = 1;}
print "<div class="country">";
print "<a href='$PHP_SELF?Language=1'><img src="../images/deutschland.gif" alt="deutschland.gif, 0 kB" title="Deutschland" border="0" height="10" width="20"></a> ";
print "<a href='$PHP_SELF?Language=2'><img src="../images/grosbrit.gif" alt="grosbrit.gif, 0 kB" title="Grosbrit" border="0" height="10" width="20"></a> ";
print "</div class="country">";
?>
Diese soll die Sprache meine Seite ändern. Das klappt zwar auch, aber erst, wenn ich das zweitemal auf den Link klicke. Beim ersten Mal wird zwar schon die Session geändert, aber erst beim zweiten klick ändert sich die Sprache. In meiner Index Datei frage ich mit
if ($Sprache == English or $_SESSION['Language'] == 2)
{include ("language/english.inc.php");}
else
{include ("language/deutsch.inc.php");}
die Sprache ab.
Habt Ihr eine Idee, an was das liegen kann.
Gruss
Olli
Hallo,
print "<a href='$PHP_SELF?Language=1'><img ~></a> ";
hier setzt Du eine $_GET-Variable...
if ($Sprache == English or $_SESSION['Language'] == 2)
... und prüfst dann nur auf die $_SESSION-Variable, die sich erst durch Aufruf des Scripts abändern wird. Prüfe also auch auf $_GET-Variablen:
if($_GET['Language']==2 || $_SESSION['Language']==2){}
Gruß aus Berlin!
eddi
Tach.
Ich denke mal, das Du beim "Absenden" der Sprachauswahl nur die Session Vars änderst. Die geänderten Werte bekommst Du aber erst beim zweiten mal zurück. Ich weis es nicht genau, weil ich schon eine Weile nichts mehr mit PHP gemacht habe.
Ansonsten:
...
$Language == [Zahl]
...
$Sprache == English
...
Deutet für mich darauf hin, das du nicht
...
<option ... value="[Zahl]">Englisch</option>
...
nutzt.