Problem mit Language-Konstante

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit Language-Konstante

Postby airis » 26. April 2005 09:26

Hallo Zusammen,

ich bekomme trotz gleicher Session-IP unterschiedliche “Länder”-Seiten angezeigt.
Wenn ich mich z.B. auf der “engl.” Seite befinde, hat die 2. Seite folgende Adresse:
http://localhost/1ht/modi/liste.php?lang=en&PHPSESSID=a6271a56b362579be4b9

die 3. angeklickte engl. Seite sieht dann so aus: gleiche Session-ID, aber es springt nach "de" um:
http://localhost/login/login4.php?lang=de&PHPSESSID=a6271a56b362579be4b94bee857eafe4

Ich habe, um zu sehen welches "land" zieht, die "functions.inc.php" einwenig ergänzt:
Code: Select all
<?php
session_start();
echo "Session lang1: ".$_SESSION['lang']."<br>";
$_SESSION['lang']=isset($_GET['lang'])?$_GET['lang']:"de";
echo "Session lang2: ".$_SESSION['lang']."<br>";
switch ($_SESSION["lang"]) {
default: include("languages/de/langDE.inc.php"); echo "Session lang default: ".$_SESSION['lang']."<br>";
break;
case "de": include("languages/de/langDE.inc.php"); echo "Session lang de: ".$_SESSION['lang']."<br>";
break;
case "en": include("languages/en/langEN.inc.php"); echo "Session lang en: ".$_SESSION['lang']."<br>";
break;
case "es": include("languages/es/langES.inc.php"); echo "Session lang es: ".$_SESSION['lang']."<br>";
break;
case "fr": include("languages/fr/langFR.inc.php"); echo "Session lang fr: ".$_SESSION['lang']."<br>";
break;
}
?>

Das Ergebnis sieht nun bei gewählter engl. Sprache folgendermaßen aus:
1. Seite:

Code: Select all
TOP-FRAME ist neutral
--------------------------------------------------
LEFT-FRAME           |  BASE-FRAME
Session lang1:       |  Session lang1:
Session lang2: en    |  Session lang2: en 
Session lang en: en  |  Session lang en: en
                     |  Session language: en
                     |
                     |
                     |  FOOTER
                     |  Session lang1: en
                     |  Session lang2: en
                     |  Session lang de: en
                     |  Session language: en


Nun klicke ich im FOOTER auf die 2. Seite:

Code: Select all
TOP-FRAME ist neutral
--------------------------------------------------
LEFT-FRAME           |  BASE-FRAME
Session lang1: en    |  Session lang1: en
Session lang2: en    |  Session lang2: en 
Session lang en: en  |  Session lang en: en
                     |  Session language: en
                     |
                     |
                     |   ohne FOOTER
                     | 


Dann in der Base auf die 3.Seite
Code: Select all
TOP-FRAME ist neutral
--------------------------------------------------
LEFT-FRAME           |  BASE-FRAME
Session lang1: en    |  Session lang1: de
Session lang2: en    |  Session lang2: de 
Session lang en: en  |  Session lang en: de
                     |  Session language: de
                     |
                     |
                     |   ohne FOOTER
                     | 


Ich habe die 3. Seite getauscht, da ich dachte es liegt an der Seite.
Immer das Gleiche, es springt nach “deutsch”.

Kann mir jemand helfen und erklären woran es liegt?
Airis
airis
 
Posts: 134
Joined: 18. May 2004 12:33

Postby Wiedmann » 26. April 2005 09:32

Der default-Zweig muss beim Switch immer an letzter Stelle stehen.
--> greift sich alles, was bis dahin noch nicht gepasst hat.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby airis » 26. April 2005 09:44

Hi Wiedmann,

Danke für Deine schnelle Antwort, habe es geändert.
War aber offensichtlich nicht das Problem. Meine 3. Seite springt nachwievor nach "deutsch" und ich weis nicht warum.

Hast Du eine Ahnung, kann es vieleicht an den Frames liegen?
Airis
airis
 
Posts: 134
Joined: 18. May 2004 12:33


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests