Andy: Sessionvariable per link ändern

Beitrag lesen

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