kostenloser Webspace werbefrei: lima-city


HTTP Accept Language?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    n*************h

    Wie funktioniert HTTP Accept Language in PHP?
    Ich habe mir schon viele Seiten angeguckt, aber ich werde daraus nicht ganz schlüssig.
    Vielleicht kann mir mal jemand als Beispiel zeigen, wie es funktioniert, wenn Sprache="Deutsch", ins Verzeichnis "/de" zu wechseln, bei Sprache="English" in "/en".
    Danke.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. worldwhiterabbit

    Kostenloser Webspace von worldwhiterabbit

    worldwhiterabbit hat kostenlosen Webspace.

    ich weiß nicht ob ich dich richtig verstanden habe ,
    aber mach es doch über eine Weiterleitung !


    Im normalfall sendet dir bereits der Browser die information ,aus welchem Land dein nutzer kommt /welche sprache er spricht.
    dementsprechend kannst du weiterleiten nach /de/ (Accept-Language HTTP header)
    sollte sich dein User nun umentscheiden alles in englisch haben zu wollen, würde ich dies über eine Session[var] speichern.
    und diese abfragen !

    wenn Session[var] gesetzt -> dann ab ins verzeichniss /de/ oder /en/
    wenn nicht...Schau nach dem browser !
    wenn der die info nicht gibt.. setze einen standart / deutsch


    nun musst du halt noch die jeweiligen sprachfiles einbinden
    je nach dem wie deine Variable /de/ /en/ gesetzt ist


    Reden wir vom selben ?!

    Beitrag zuletzt geändert: 6.10.2009 12:51:14 von worldwhiterabbit
  4. Du musst einfach in die Variable $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] schauen (Link)

    Und je nachdem, was dort drin steht, kannst du dann weiterleiten
    header("Location: http://www.example.com/de");

    Dies geschieht mithilfe der Funktion header()

    @Vorposter: Mit Sessions hat das nichts zu tun.

    Beitrag zuletzt geändert: 6.10.2009 13:11:25 von bladehunter
  5. Autor dieses Themas

    n*************h

    Also müsste folgender Code funktionieren:

    if ($_SERVER_ACCEPT_LANGUAGE = 'de') {
    header(Location: http://www.exaple.de/de);
    }
    else header(Location: http://example.de/en);


    Tut er leider aber nicht.
    Fehler:
    Parse error: syntax error, unexpected ':' in /home/webpages/lima-city/nico-stuhlfauth/html/land.

    Beitrag zuletzt geändert: 6.10.2009 15:03:29 von nico-stuhlfauth
  6. e********l

    Die Angaben in Header() müssen auch als String übergeben werden.
    if ($_SERVER_ACCEPT_LANGUAGE = 'de') {
         header('Location: http://www.exaple.de/de');
    } else
         header('Location: http://example.de/en');
    die();

    Das die() steht da nur um zu verhindern das nachfolgender Code noch ausgeführt wird.
  7. nico-stuhlfauth schrieb:
    if ($_SERVER_ACCEPT_LANGUAGE = 'de') {
    header(Location: http://www.exaple.de/de);
    }
    else header(Location: http://example.de/en);


    Da sind mehrere Fehler:
    -Ich nehme an, du willst in der ersten Zeile ein Doppeltes Gleichheitszeichen setzen.
    -Der Parameter für header() muss ein String sein. Du hast die Anführungszeichen vergessen.
    -Die Variable, die du prüfen willst, heißt $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] und nix anderes.

    und bedenke, dass ein Browser auch mehrere Sprachen akzeptieren kann. Am besten du stellst in deinem Browser mal mehrere Sprachen ein und testest, was dein Script sagt.

    Beitrag zuletzt geändert: 6.10.2009 15:26:28 von bladehunter
  8. karlsve

    Moderator Kostenloser Webspace von karlsve

    karlsve hat kostenlosen Webspace.

    if ($_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] == 'de') {
    header('Location: http://www.exaple.de/de');
    } else {
    header('Location: http://example.de/en');
    }


    Okay ich hab mal ein paar fehler rausgenommen.
    sollte jetzt funktionieren aber bin mir nicht sicher. Ich habe es nicht ausprobiert.

    MfG
    karlsve

    edit:
    Danke an nikic.
    :D
    habe ich doch tatsächlich selbst noch einen Fehler eingebaut gehabt.
    jetzt aber

    Beitrag zuletzt geändert: 6.10.2009 16:02:22 von karlsve
  9. 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!