G. T.: Sessions Sprache einer Seite

Guten Tag,

folgende Funktion speichert die Sprache nicht in der Session Variablen ab. $_SESSION['language'] ist leer.

Was ist falsch?

LANGUAGE FUNCTIONS

function getLanguage()
{
 if (isset($_REQUEST['language']))
   {
  $this->language = $_REQUEST['language'];
  $_SESSION['language'] = $_REQUEST['language'];
 }
 elseif (!isset($_SESSION['language']))
 {
  $this->language = 'de';
  echo $_SESSION['language'];
 }
}

Also wenn der Benutzer direkt die Starturl eingibt, kann er die Sprache wählen. Wenn er die Seite gebookmarkt hat soll sie entweder
aus einem Cookie gelesen werden oder "de" als Standard gesetzt werden.

Also ganz am Anfang steht session_start();

Wo liegt der Fehler ?

Danke

  1. Probier mal so:

    function getLanguage()
    {
      if( !empty( $_GET["language"] )) // get hat prio 1
      {
        $this->language = $_GET["language"];
        $_SESSION['language'] = $this->language;
      }
      else if( !empty( $COOKIES["language"] )) // dann cookie checken
      {
        $this->language = $COOKIES["language"];
        $_SESSION['language'] = $this->language;
      }
      else if( !empty( $_SESSION["language"] )) // session checken
      {
        $this->language = $_SESSION["language"];
      }
      else // nix rausgekriegt, also default sprache
      {
        $this->language = "de";
        $_SESSION['language'] = $this->language;
      }
    }

    // prüfen:
    echo $_SESSION['language'];

    --

    Anm.: Weiss gerade nich genau ob $COOKIES oder $_COOKIES richtig ist... schau ins Manual falls es mit cookies nicht klappt.

    Mit freundliche Grüßen,
    Michael Nagler