Řekněme, že mám PHP skript rzx.php, který spouštím následovně:
rzx.php?cast=ALL#buggyboy
Jak v tomto skriptu odchytím #buggyboy, když se nejedná o proměnnou? Kde je tento údaj (nebo celé URL) v PHP uloženo?
Zkusil jsem to, ale zobrazi to jenom cast=ALL, zbytek uz ne :-(.
zkousel jsem getenv('REQUEST_URI'); , ale to taky neslo... tipl bych, ze ta cast #neco se na server vubec neposila a zpracuje si to az prohlizec...
ale snad musi existovat zpusob, jak to odchytit
Zkus jeste $PHP_SELF, ale je to jen tip.
podľa mňa tú časť adresy prehliadač nikam neposiela, veď aj načo.
však keď vie, že na danej stranke má nájsť kotvu #buggyboy, tak si vyžiada tú stránku, kotva tam už bude a server to nemusí zaujímať, že?
BTW neposiela sa to ani v getenv("HTTP_REFERER");
A co ten znak #, je v url přípustný?
A co parse_url() ? Ta ti celou URL rozseká včetně toho, co popisuješ.
http://cz2.php.net/manual/cs/function.parse-url.php
Znak # znamena navesti v html dokumentu, prohlizec tam automaticky odskroluje. Server cast za # vubec nedostane.
no a vzhledem, k tomu že libovolný přenos # přes url ho neustále zuřivě kóduje jako %23, tak bych tak typnul, že se na něm zarazí a zbytek url ignoruje. Takže předej pořádně URL a bude to fungovat.
Sojka:
AFAIK, tak ano.
$url = "http://www.neco.cz?page=stranka#news";
$parse_url = parse_url($url);
echo $parse_url["query"]; //vytiskne page=stranka
echo $parse_url["fragment"]; //vytiskne news
možná to do tý funkce dali bez uvážení
jo, já jsem si říkal, že se ten # na něco používá.. (-;
MzM:
Abych byl upřímnej, tak jsem to ani ještě nezkoušel, ale je to tady napsaný v manuálu a ta fce je rozebraná i v knížce od Jirky Koska, včetně toho fragmentu za "#"
Já jsem to zkoušel mockrát, funguje to, akorát jsem si to zrovna teď nevybavil...
Petr Bláha: Diky za tip, ale parse_url je pro muj pripad nepouzitelny, protoze nejprve bych potreboval nejak odchytit parametr teto funkce, coz bohuzel opravdu nejde. Nakonec jsem to vyresil pouzitim dalsi promenny, do ktery se ulozi text za #.
rzx.php?id=buggyboy#buggyboy