Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] header Location - podmiana ostatniej zmiennej
Forum PHP.pl > Forum > PHP
M@X
Witam.
Niewiem czy jest to tak możliwe jak mi sie wydaje ?

Mam strone dwujęzyczną którą zmieniam na zasadzie sesji.
  1. if($_GET['jezyk']=='polski')
  2. {
  3. $_SESSION['language']='polski';
  4. header('Location: index.php?l=polski');
  5. }
  6. elseif($_GET['jezyk']=='angielski')
  7. {
  8. $_SESSION['language']='angielski';
  9. header('Location: index.php?l=angielski');
  10. }

no i dzięki temu wszystko działa, tyle że po wywołaniu danej sesji strona wraca do index.php
A chodzi mi aby jak np jest link: index.php?sekcja=opis&dzial=2&l=polski to żeby podmieniał tylko końcówke na ...&l=angielski

Można to w jakiś sposób rozwiązać, np:
header('Location: index.php?AKTUALNE_ZMIENNE&l=angielski');
coś jak
header('Location: index.php?$_SERVER['REQUEST_URI']&l=angielski');
ylk
  1. $_SERVER['HTTP_REFERER']
M@X
wsadziłem to w ten sposób

header("Location: ".$_SERVER['HTTP_REFERER']."&l=angielski");

i podmienia język na danej podstronie (na danych zmiennych) ale tworzy link w postaci:

www.strona.pl/index.php?sekcja=opis&dzial=2&l=polski&l=angielski

Można jakoś wyeliminować żeby kasował lub podmieniał tą ostatnią zmienną "l" ?
erix
Olej Referera, to jest coraz rzadziej wysyłany.

Daj w linku do zmiany języka jakąś dodatkową zmienną, np. redirect i wrzucaj tam konkretne żądanie zakodowane np. urlencode. Dalej będziesz wiedział, co robić. wink.gif
Bags_Bunny
@M@X: nie podoba mi się Twoja duplikacja kodu.
W ogóle, to trochę dziwnie kombinujesz. Skoro masz już w GET zmienną język to po co jeszcze to l? No ale nie moja sprawa.
  1. if( isset( $_GET['jezyk'] ) )
  2. {
  3. $_SESSION['language'] = $_GET['jezyk'] == 'angielski' ? 'angielski' : 'polski'; //zakładam, że polski jest domyślny
  4. header( 'Location: index.php?' . http_build_query( array( 'l' => $_SESSION['language'] ) + $_GET ) );
  5. exit; //polecam, jeśli nic już się nie musi wykonać
  6. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.