Autor Zpráva
Casper
Profil
Dobrý den, mám jednoduchou, otázku: jak zjistím skutečnou URL u adresového řádku co vidím v prohlížeči (stačí mi klidně i bez SERVER_NAME)?

$_SERVER['REQUEST_URI'] mi nestačí protože potřebuji pracovat i s prvkem od a name tzn při: mujweb.cz/novinky/#82 dostanu od request_uri pouze /novinky/, jenže já potřebuji pracovat s s tím #82 a žádná z $_SERVER funkcí toto vytáhnout z url neumí (nebo jsem jen nenašel)... lze tedy tento problém nějak řešit nebo to prostě php neumí zjistit (což by mě vážně nepotěšilo) ?
bohyn
Profil
Casper
#cislo se na server neposila, takze to ani server zjistit nemuze.
Majkl578
Profil
nikdy jsem se nesetkal s tim, ze by se toto pouzivalo. jako parametry slouzi retezec za ?, nikoliv za #. to se pouziva snad jen v html jako "kotva", popr. javascript

maximalne to zkus resit jako parametr, kam toto dosadis javascriptem...:-\
Casper
Profil
díky bohyn za vysvětlení..

Majkle, potřebuji to využít, protože mám seznam komentářů (výpis z db) a odkazy na ně, přímé odkazy na místo kde jsou odkazy celé, tedy včetně # kde se orientuji podle id, takže při klepnutí na komentář se dostanu přímo na něj, ovšem když jsem zavedl stránkování ve výpisu komentářů kam se odkazuji, pak při klepnutí na starší komentář v seznamu jsem se opět dostal na první stránku kde onen koment nebyl, chtěl jsem to řešit vytažením onoho čísla za #, zjištěním na které stránce se vyskytuje a přesměrováním tam, ovšem jestliže tuto hodnotu do php vůbec nedostanu, pak pravděpodobně řešení neexistuje...

Jediné co mě ted napadlo je odkazovat se už přímo ze seznamu komentů na danou stránku, což ovšem není dynamické vhledem k tomu že počet komentářů na stránku je definován u jejich výpisu, takže bych pak musel při změně upravovat dva soubory (výpis i seznam)... nebo pro toto používat sessions což mi nepřijde vhodné... nebo by to šlo řešit jinak ? :)
bohyn
Profil
Casper
Stankovani se vetsinou dela pomoci LIMIT v SQL, nebylo by lepsi prepsat dotazy nez hledat na jake strance je komentar s danym ID?
Alphard
Profil
proč si nedáte id normálně do adresy? index.php?id=82
k části za # se bez javascriptu nedostanete, prohlížečeho ho AFAIK vůbec neposílají na server
Casper
Profil
bohyn, samozřejmě, jak jinak ? tak to také řešené mám...

alphard: pokud bych využil GET místo #, pak scrollnu jak na onen koment ? JS ? ten může mít uživatel vypnutý, proto jsem volil řešení HTML kotvy, netoužím zobrazit jen onen koment, to by bylo jasné řešení přes GET ale právě onen "scroll" nebo chcete-li "kotvu"
Alphard
Profil
co třeba ?id=82#82
Casper
Profil
Alphard velmi dobrý nápad, ale poněkud nepěkné do url, možná to rewritnout na /82/#82 ale ani tak se mi to moc nelíbí :) Každopádně díky, tohle by se jako řešení skutečně nabízelo.
bohyn
Profil
Casper
// adresa ve tvaru: ?stanka=1&komentaru=30
// zadne promene v GET ani byt nemusi, to si pohlidas v PHP
// PHP:
$prispevku = isset($_GET['komentaru']) && $_GET['komentaru'] > 0 ? (int)$_GET['komentaru'] : 30;
$start = isset($_GET['stranka']) && $_GET['stranka'] >= 1 ? ((int)$_GET['stranka'] - 1) * $prispevku) : 0;
$sql = "... LIMIT {$start},{$prispevku}";
Casper
Profil
Bohyn, jistěže, ovšem nechci nechávat uživatele volit počet příspěvků na stránku (mám to definované přímo v proměnné v php souboru kde to v případě potřeby lehce změním), tohle řešení by bylo moc pěkné při odkazování se ze seznamu, děkuji, možná využiji
fuckin
Profil *
to nema nic spolecneho s php, to je klasicke html, kdyz zavolas #10 a u nejakeho divu mas nastaveno u neceho 10(a ted nvm jak se to jmenuje) tak se stranka presune na ten div...
Ono ty to cist prece nepotrebujes, staci kdyz akorat zavolas takovou adresu, ne?

Jinak se to take pouziva u ukladani odkazu v ajaxu....
Casper
Profil
fuckin pravděpodobně jsi nepochopil problém, pročti celý topic...
fuckin
Profil *
tak v tom svem prvnim prispevku si to naprosto nespecifikoval tak sem ti odpovedel na co ses ptal.

Jinak jestli to potrebujes nejak ziskat do php, tak to odesli pres GET a jak to budes chtet zavolat tak tam normalne pouzij #cislo, fakt ten problem ktery resis nikde nevidim, vysvetli to poradne prosim...

Jestli chces zjistit na ktere to je strance tak to je jednoduche... (ID DIV prispevkuNaStrance)+1

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: