Bei einer mehrsprachigen Webseite, beginnen englische Seiten mit e_ , deutsche mit d_ und so weiter.
Jetzt soll aber eine "Sprachumschaltung" eingebaut werden.
Soll heissen, anstatt lediglich zur anderssprachigen Index zu verlinken, soll wenn bspw. von "e_blah.php" auf Deutsch umschaltet wird, zu "../deu/d_blah.php" gewechselt werden und von bspw. "d_blub.php" zu "../eng/e_blub.php", etc..
Grundidee:
- Übergebe Dokumentenname ("/bliblablub/x_blah.php") an eine "../changeL.php"
- Lösche Chars bis nach x mit substr ausm String (--> "_blah.php")
- Hänge Ordner (eng / deu / ...) und "Länderkennung" (e / d / ...) an (--> "/zzz/z_blah.php")
- Wechsle zu neuer Url
Dabei gibt's allerdings zwei Probleme:
1. Der momentane Dokumentenname zeigt sich etwas widerspengstig, sprich lässt sich nicht ans changeL.php übertragen.
2. Die Weiterleitung soll ohne Javascript o.ä. erfolgen, damit Noscript u.ä. nicht dazwischen funkt.
Zu 1 hier die momentan ausprobierte Version:
<form action="../changeL.php" method="post">
<input type="hidden" name="currentDoc" value=<?php echo $_SERVER['PHP_SELF']?> />
<input type="image" name="submit" src="../img/img.png" width="39" height="26" />
</form>
Wenn changeL.php im Ordner "Bli Bla Blub" liegt, und "e_blah.php" im Unterordner "eng",
dann ergibt echo($_POST['currentDoc']) im changeL.php "/Bli/Bli"
aber echo($_SEVER['PHP_SELF']) korrekterweise "/Bli Bla Blub/changL.php".
Zu 2 weiss ich nur, dass die header-Funktion nur mit absoluten Pfaden funktioniert und daher nicht geeignet ist.
Wäre dankbar, wenn mir da wer weiterhelfen könnte.