kostenloser Webspace werbefrei: lima-city


PHP Cookie Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    florianleonsteenbuck

    florianleonsteenbuck hat kostenlosen Webspace.

    ini_set('session.cookie_lifetime',100);
    session_start();
    if(isset($_GET["lang"])){
    $langs = $_GET["lang"];
    $_SESSION['langs'] = $langs;
    }
    elseif(isset($_SESSION["langs"])){
    $langs = $_SESSION["langs"];
    $_SESSION['langs'] = $langs;
    }
    else{
    $langs = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $_SESSION['langs'] = $langs;
    }


    Ich bin am verzeilfeln das ist mein Code für die Kunden, die variable $langs ist später für soll später für sprach option zuständig sein.
    Nun möchte ich eine Session setzen die langfristig den Kunden es ermöglich die Sprache einzustellen.

    Hier mein Problem klick mal auf My Projects http://florianleonsteenbuck.lima-city.de/?lang=en
    Die Leiste ist danach nicht mehr auf English.

    Ich hoffe ihr könnt mir helfen


    Beitrag zuletzt geändert: 29.4.2013 22:06:53 von florianleonsteenbuck
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    florianleonsteenbuck schrieb:
    Nun möchte ich eine Session setzen die langfristig den Kunden es ermöglich die Sprache einzustellen.
    Warum setzt du nicht einfach ein »langlebiges« Cookie mit der Sprache?
  4. Autor dieses Themas

    florianleonsteenbuck

    florianleonsteenbuck hat kostenlosen Webspace.

    Mein alter Code genau das gleiche:
    if(isset($_GET["lang"])){
    $langs = $_GET["lang"];
    setcookie("langs", $langs,time()+3600*24,"florianleonsteenbuck.lima-city.de");
    }
    if(isset($_COOKIE["langs"])){
    $langs = $_COOKIE["langs"];
    setcookie("langs", $langs,time()+3600*24,"florianleonsteenbuck.lima-city.de");
    }
    else{
    $langs = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    setcookie("langs", $langs,time()+3600*24,"florianleonsteenbuck.lima-city.de");
    }

    Oder der hier:
    if(isset($_GET["lang"])){
    $langs = $_GET["lang"];
    setcookie("langs", $langs,time()+3600*24);
    }
    if(isset($_COOKIE["langs"])){
    $langs = $_COOKIE["langs"];
    setcookie("langs", $langs,time()+3600*24);
    }
    else{
    $langs = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    setcookie("langs", $langs,time()+3600*24);
    }


    Beitrag zuletzt geändert: 29.4.2013 22:01:05 von florianleonsteenbuck
  5. ini_set('session.cookie_lifetime',100);
    session_start();
    if(isset($_GET["lang"])){
    $langs = $_GET["lang"];
    $_SESSION['langs'] = $langs;
    }
    elseif(isset($_SESSION["langs"])){
    $langs = $_SESSION["langs"];
    $_SESSION['langs'] = $langs;
    }
    else{
    $langs = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $_SESSION['langs'] = $langs;
    }

    Bin dem Link auf deine Seite http://florianleonsteenbuck.lima-city.de/?lang=en gefolgt.
    Die Variable $_GET["lang"] wird nicht übermittelt, deshalb wird dieser Codeteil übersprungen
    if(isset($_GET["lang"])){
    $langs = $_GET["lang"];
    $_SESSION['langs'] = $langs;
    }

    Ich gehe mal davon aus, dass $_SESSION['langs'] im obigen Teil initialisiert werden sollte, aber eben nicht wurde.
    Folglich steht diese Variable nicht zur Verfügung und deshalb wird auch dieser Codeteil übersprungen.
    Der Code ist ohnehin sinnlos, weil sich hier alles im Kreis dreht!
    elseif(isset($_SESSION["langs"])){
    $langs = $_SESSION["langs"];
    $_SESSION['langs'] = $langs;
    }

    Zuletzt wird diese Anweisung ausgeführt und wird als Ergebnis für $_SESSION['langs'] ="de" liefern.
    else{
    $langs = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $_SESSION['langs'] = $langs;
    }

    Tip:
    Benutze in der Entwicklungszeit die PHP-Funktionen var_dump() oder print_r().


  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!