[PHP] Wyciąganie zmiennej z linka

0

Umiłowani...

mam problem, szukałem na forum, google, zadawałem pytania na innych forach, ale nie uzyskałem prawidłowej odpowiedzi.

Jak wyciągnąć URL strony, która wywołała dany skrypt np:

$_SERVER['HTTP_REFERER'];

I teraz pytanie jest takie:

  • otrzymałem następujący link [A]:
    http://localhost/~joomla/index.php?option=com_wrapper&Itemid=59&lang=pl_PL
    Teraz z tego URL potrzebuje wyciągnąć tylko zmienną lang, czyli potrzebuje wyartość "pl_PL" i następnie przesłać ją do mojego skryptu. Aby otrzymac następujący rezultat [B]:
    http://localhost/~joomla/imprezy/calendar.php?lang=pl_PL

I teraz problem mam kolejny, gdyż po wysłaniu czegoś z formularza zmienna $lang znika, jak ją zapisać na stałe ??
Przy ponownym sprawdzeniu (gdy wysłalem coś z formularza metodą GET):

$_SERVER['HTTP_REFERER'];

Nie otrzymuje adresu A, lecz "calendar.php"

Wiem, że jest to skomplikowane co napisałem, ale nie wiem jak to jaśniej wyjaśnić.

W skrócie:

  • musze pobrać język z innej strony i za wszelką cene zachować ta wartość bez jej zmiany. [green]
0

AD1:

function getvar($url,$wartosc)
{
   preg_match('/http(|s)\:\/\/.+'.$wartosc.'=([^(&)]+)/',$url,$url);
   return ($url[2]);
}
  echo getvar('http://localhost/~joomla/index.php?option=com_wrapper&Itemid=59&lang=pl_PL','lang');
0

A nie mozesz jezyka zapisac w sesji?

0
$_SESSION['jezyk'] = getvar($_SERVER['HTTP_REFERER'],'lang');
	
if ($_SESSION['jezyk'] == 'pl_PL') {
  include('lang/polish.php');
}

echo $_SESSION['jezyk'];

I wszystko OK poki nie nacisne np. przcisku wyślij na formularze, ktory powoduje wczytanie tej samej strony (calendar.php) po tej czynnosci $_SESSION['jezyk']; dziwnie znika :|

<font color="red">[dopisane]</span>
poradzilem sobie dzieki za podpowiedzi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1