#dolu

tvořím takové obecnější fce. Mimo jiné na rozdělení URL na části a pak zpětné poskládání. To není problém, ale chci fci, kteá mi to url předá, tedy něco jako server+skriptname+parametry+lokálníposun, tedy třeba:
http://localhost/test.php?cosi=bla&z=csd#dolu
jak zjistím, to čí oho je jasné, ale jak zjistit to, co je za #?
Teď si nespomenu, ale už se to tu řešilo asi před půl rokem :)
jo, taky mám ten pocit, a taky mám ten pocit, že jsem to nadhazoval já... :-o
a ja mam ten pocit, ze jsme se dobrali k tomu, ze se to na server neposila, ale uz si to fakt nepamatuju
urcite sa to na server neposiel, pretoze ak niekdse klinem na taky link, tak sa stranka nezacne znovu nacitavat (ziadna tociaca sa kvetinka vo FF) ale len sa to presunie na urcitu cast dokumentu.
funkcia parse_url toto riesi
$pole = parse_url('...');
echo $pole['fragment'];

bohuzial, v ziadnej z $_SERVER premennych toto nieje

skuste si otvorit mt.wz.cz/info.php#blah a scrollujte uplne dolu do sekcie PHP Variables ... fragment zostava u klienta
otestoval som to cez LiveHTTP headers
vystup:

http://mt.wz.cz/info.php#foo

GET http://mt.wz.cz/info.php HTTP/1.1 --FRAGMENT SA NEODOSLAL
Host: mt.wz.cz
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; cs-CZ; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: cs,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive

HTTP/1.x 200 OK
Date: Tue, 18 Oct 2005 17:15:11 GMT
Server: Apache/2.0.48 (Unix)
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 6328
Content-Type: text/html
Connection: Close
Řešilo se to tak před 8 měsíci na builderu a závěr byl, že to fungovalo jen v mozile, v IE ne. Potom tam ještě někdo dal údajně funkční řešení v ASP.
http://localhost/test.php?cosi=bla&z=csd#dolu
jak zjistím, to čí oho je jasné, ale jak zjistit to, co je za #?


explode();
strrchr();

?
citujem sam seba

Autor: lacop (---.84-47-47.telecom.sk)
Datum: 18. 10. 2005 19:14

funkcia parse_url toto riesi
$pole = parse_url('...');
echo $pole['fragment'];
lacop, diky, na tuhle fci jsem nenarazil...
ta # je fakt záležitost prohlížeče, takže, co by dělala na serveru.....
takže odpověď na původní otázku, kde vzít to, co je za # zní: není....
$z=$_GET['z'];
list($predmrizkou, $zamrizkou) = explode("#", $z]);

Co myslite slo by to takhle?
DarkKNight: az na ten preklep $z]

MzM: viz ten vypis ... servuru sa fragment neposiela (teda aspon v FF nie)
Marku, skutečně jsi to nadhazoval ty, a já ti na to možná odpovídal. Prožil jsem si malé Dežo ví.