promenna v header

vim ze se ptam asi na blbost, ale lze nejakym zpusobem vlozit do location v header promenou?
Funkce header přijímá jako parametr řetězec, který pochopitelně můžeš vytvořit z proměnných. Takže např.
$url="neco";
header("Location: $url");
mno to mi prave nejde. Mam:
$url="?id=".$id;
$_SESSION = array();
session_destroy();
header('Location: $url');

takze by melo byt url treba "?id=vyhledavani". Nevadi tam to sessions destroy?
musis dat absolutne URL
Absolutní URL tam nemusí být, ale raději bych zkusil dát název souboru před otazník, tedy např:

$url="index.php?id=".$id;
take nefunguje

...$url="http://webovy.vyrobce.cz/?id=".$id;
$_SESSION = array();
session_destroy();
header('Location: $url');...

:-(
Stilett:

Note: HTTP/1.1 requires an absolute URI as argument to Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

<?php
header("Location: http://" . $_SERVER['HTTP_HOST']
. dirname($_SERVER['PHP_SELF'])
. "/" . $relative_url);
?>

zdro: http://php.net/header
=>máš pravdu, koukám, že ve standardu je požadována absolutní. Toho jsem si nikdy nevšimnul, protože "some clients accept relative URIs" zatím platilo vždy. Ale ve skriptech si to opravím.
->Tondys: V tom případě bych hledal chybu někde jinde.
header("Location: http://" . $_SERVER['HTTP_HOST']
. dirname($_SERVER['PHP_SELF'])
. "/" . $relative_url);

funguje, nechapu proc to predtim nepremavalo. No kazdopadne tohle je lepsi zpusob vyjadreni absolutni adresy, alespon jsem si to uvedomil a hlavne ze to funguje, dik moc ;)
btw: ja ked mam nejaky problem tohoto typu, tak to riesim tak, ze si necham vypisat co to vlastne do tej nejakej funkcie strkam ;-)
tymto sposobom sa da odstranit spusta chyb
tak sem samozrejme delal (misto header echem), jinak bych to zde samozrejme ani nepsal, ze...
Lacop> nemas uplnou pravdu, to ze kdyz je absolutni ve standardech, neznamena ze¨relativni nebude fungovat, ja pouzivam bezen relativni adresu v HEADERU a neznamenal jsem jediny problem
Já jsem taky vždycky bez problémů používal relativní, ale už jsem to opravil na absolutní, protože to není správný přístup. Když něco není ve standardu, tak to znamená, že není zaručeno, že všechny prohlížeče to budou podporovat (existují i jiné než Firefox, IE a Opera).
23k: relativna funguje v beznych prehliadacoch - ale absolutna je istota a presmeruje vzdy