Hallo,
folgende Problemstellung:
* In der Varibale $_SESSION["language"]
ist die aktuelle verwendete Sprache meiner Site gespeichert! (Steht momentan auf "en" für englisch)
* Die Seite hat die Adresse "example.tld/seite".
* Sie existiert in deutsch, aber nicht englisch.
Nun möchte ich für alternative Sprachen einen Link zum ändern der Sprache ausgeben. Problem, wie lösen? Mein Ansatz war folgender:
* In $_SESSION["lastPage"]
ist immer die letzte besuchte Seite gepeichert (Referrer-Ersatz).
* Nun generiere ich den Link "example.tld/makesetting/language/de" auf der Seite "example.tld/seite".
* Das aufgerufene Skript ändert die Sprache in $_SESSION["language"]
auf "de".
* und macht einen Redirect auf die ursprüngliche Seite!
Das Problem hierbei ist, dass die Seite "example.tld/makesetting/language/de" in der History auftaucht und jederzeit wieder angesprungen werden kann!
Welche Möglichkeiten gibt es alternativ? Ich vermute mal um JavaScript komme ich leider nicht rum.
Folgende Dinge habe ich mir überlegt:
1. Ein Link, der per Post-Request auf die Seite "example.tld/seite" die neue Sprache übergeben wird.
2. "example.tld/makesetting/language/de" gibt den Header "204: No Content" zurück und durch den Link wird parallel "example.org/seite" neu geladen.
Also wie, was, wo?
Danke,
Andy