kurt: Sessionmanagement / Spachdatei über Session wählen

Hallo,

ich möchte über eine Session die Sprachdatei einer Website aufrufen. Geht aber nicht, wer weiß, wo mein Denkfehler liegt???

index.php
include ("./session.php");
$sprache=$_SESSION['sprache'];

session.php
<?php
session_start();
if (isset($_GET['sprache']))  {
$_SESSION['sprache'] = $_GET['sprache'];
} else {
if (empty ($_SESSION['sprache'])) {
$_SESSION['sprache'] = 'deutsch';
}
}

?>

Grüße, Kurt

  1. Natürlich muß ich einmal über den Link die z.B. die Variable füllen...aber danach springt die Seite immer wieder ins deutsche zurück???

    Grüße, Kurt

    Hallo,

    ich möchte über eine Session die Sprachdatei einer Website aufrufen. Geht aber nicht, wer weiß, wo mein Denkfehler liegt???

    index.php
    include ("./session.php");
    $sprache=$_SESSION['sprache'];

    session.php
    <?php
    session_start();
    if (isset($_GET['sprache']))  {
    $_SESSION['sprache'] = $_GET['sprache'];
    } else {
    if (empty ($_SESSION['sprache'])) {
    $_SESSION['sprache'] = 'deutsch';
    }
    }

    ?>

    Grüße, Kurt

  2. ich möchte über eine Session die Sprachdatei einer Website aufrufen. Geht aber nicht, wer weiß, wo mein Denkfehler liegt???

    Das ist keine gute Idee.

    Die Session-ID wird idealerweise nur per Cookie weitergereicht. Die gewählte Sprache sollte aber unbedingt ein Bestandteil der URL sein.

    Dabei ist es egal, ob du das als Parameter (www.example.org/thema/seite.php?lang=de), im Verzeichnis (www.example.org/de/thema/seite.php), im Hostnamen (de.example.org/thema/seite.php) oder sonst irgendwie durchführst.

    Denn der Nachteil der Sessionmethode ist: Suchmaschinen haben keine Sessions, würden also nur die Standardsprache spidern, wenn die Sprache nicht in der URL steckt. Und auch Besucher, die deine Seite in einer anderen Sprache bookmarken, müßten immer wieder die Sprache umschalten.

    Ich kann mir eigentlich nicht vorstellen, dass du den ganzen Aufwand mit Wählbarkeit und Übersetzung in andere Sprachen für die Tonne machst.

  3. Hi kurt!

    wer weiß, wo mein Denkfehler liegt???

    Wo rufst du session_start() auf?

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  4. Hello,

    [...] wer weiß, wo mein Denkfehler liegt???

    index.php
    include ("./session.php");
    $sprache=$_SESSION['sprache'];

    Hast Du alle Fehlermeldungen aktiviert? Auch die Notices!
    Das solltest Du tun, dann würde Dir Dein Denkfehler mit ein paar Versuchen vermutlich schnell klar werden.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau