změna proměnné v url

Ahoj,
v url předávám proměnnou s údajem o jazykové verzi, která se má zobrazit. Nějak mě nenapadá, jak změnit údaj v proměnné a přitom zachovat celý zbytek adresy, i s ostatními proměnnými. Zkouším si hrát s $_SERVER['REQUEST_URI'], ale to se nezdá být správná volba.
Díky za každou radu.
proměnné v adrese se mění kliknutím na odkaz...

nechápu, k čemu by ti byla změna textu v adresním řádku...

$obsah_promenne = $_GET['promenna'];
ja to resim tak, ze vezmu $_GET zmenim, co potrebuju $_GET['language'] = jiny; a pak zrekonstruuju url...
mam na to fci, ktere predam url a parametr s hodnotou,kterou tam chci dat a ona mi ji prida/zmeni a vrati nove url.
Jistě. Jde o to, že když mám na začátku třeba index.php?menu=biologie&language=cze
tak bych po kliknutí na odkaz chtěl mít index.php?menu=biologie&language=eng
aby potom $obsah_promenne = $_GET['language']; mela správnou hodnotu...

Když nastavím odkaz rovnou na index.php?language=eng , tak se uživatel při překliknutí jazykové verze dostane zpět na začátek a bude se muset proklikávat tam kde byl předtím. Proto bych chtěl zachovat ty proměnné, ale nevím jak to udělat. Momentálně ten odkaz vypadá a href="<?PHP echo $_SERVER['PHP_SELF'].$language; ?>", což ale právě nezachovává ty ostatní proměnné.
Marku, nemohl bych poprosit o nějakou ukázku té funkce?
dyt o tom mluvim, pisu:
$adr= $_SERVER['PHP_SELF'];
$params = $_GET;
$params['language'] = 'eng'; # nebo jiny
$nove_parametry= join_url_params($params); # funkce posklada klic=>hodnota do retezce klic=hodnota&klic2=hodnota2
$nove_url = $adr."?".$nove_parametry;
# pouzit nove url
díky, já si s tím budu hrát. Nejdřív jsem naivně hledal to join_url_params v manuálu...
není mi moc jasné, jak složit zase dohromady tu novou adresu.
Tohle by mohlo jít, ne?

join_url_params($params) {
foreach ($params as $klic => $hodnota) {
$parametry .= '&' . $klic . '=' . $hodnota;
}
return substr($parametry, 1);
}
hmm, zajimave obchazeni problemu... CoolURi na vás, pánové :-)
díky, nejspíš mohlo, ale http_build_query ()
http://mirrors.inway.cz/manual/cs/function.http-build-query.php
je nakonec jednodušší.
Funguje mi to celé krásně takhle, kdyby to někdy někdo potřeboval (PHP 5 only):

$adr= $_SERVER['PHP_SELF'];
$params = $_GET;
if ($_GET['language']== 'eng')
$jazyk = 'cze';
else
$jazyk = 'eng';
$params['language'] = $jazyk;
$nove_url = $adr."?".http_build_query($params);
problem je, ze http_build_query() funguje az od php5, takze tady asi ne-e.
<?php
function Http_Build_Query_4($array, $validate = false)
{
if ($validate) {$amp = "&";}
else {$amp = "&";}
foreach ($array as $key => $val) {
if (Is_Array($array[$key])) {
foreach ($array[$key] as $akey => $aval) {
$get_string .= $key."[".$akey."]=".URLEncode(StripSlashes($aval)).$amp;
}
}
else {
$get_string .= $key."=".URLEncode(StripSlashes($val)).$amp;
}
}
$get_string = Ereg_Replace("^$amp*", "", $get_string);
$get_string = Ereg_Replace("$amp*$", "", $get_string);

return $get_string;
}
?>
pro ty kdo neví, tak se tu zase převedlo && na &, takže ten if nazačátku vypadá divně.
grrr. &amp na &
No jéje. Ten IF se fakt nepovedl :o)