Autor Zpráva
pavol
Profil *
Ako zistim premennu $ref z adresy http://www.web.eu/#ref=150 ?

$GET['ref'] nic nevypise :(
imploder
Profil
pavol
protože http://www.web.eu/#ref=150 je blbost. Správně je s otazníkem http://www.web.eu/?ref=150 a další proměnné se píšou za ampérsandy. Pak bude 150 v $_GET['ref'] (nezapomeň na podtržítko, chybí ti tam).
pavol
Profil *
Preco je http://www.web.eu/#ref=150 blbost? Chcem aby navstevnik skocil na zalozku(kotvu) a potrebujem nejak zistit aka to zalozka je.
imploder
Profil
pavol
Za mžížku se píše už rovnou název kotvy. Takže pokud máš <a name="150">, tak tomu odpovídá http://www.web.eu/#150
AM_
Profil
<a name="150">
je zastaralý zápis, dnes se používá pro kotvy id ,takže <a id="150">, ale taky třeba <span id="150">, má to prostě tu výhodu, že tam nemusíte cpát <a>, všechny moderní prohlížeče id kotvy podporují.
Co je za # na serveru nezjistíš, protože se to v požadavku neposílá (stránka by se musela při každém přechodu na kotvu načítat znovu a zkrátka to odporuje principu kotev). Pokud to potřebuješ, můžeš udělat /?ref=150#150, čímž dosáhneš tebou chtěné funkcionality (pokud dobře rozumím tomu, co chceš), nebo hodnotu té kotvy by možná šlo serveru sdělit pomocí AJAXu.
Miloš
Profil
AM_
<a id="150">???
Jestliže je <a name> zastaralý, pak <a id="150"> naprosto hovadný.
Využití ID má smysl právě proto, aby se tam nemusel psát zbytečný <a>.
Takže třeba <h2 id="blabla"> anebo <p id="bleble">, to je naprosto jasné, ale <a id="150"> je pitomost, i když funguje.
<a id="150"> by mohl mít smysl jedině v kombinaci s href: <a href="blabla.html" id="150">.

pavol
Shrnuto:
hťťp://www.web.eu/#ref=150 je obyčejná adresa bez proměnné, kotva se jmenuje "ref=150" (<a name="ref=150">, případně <element id="ref=150">).
hťťp://www.web.eu/?ref=150 odkazuje na web a přes GET proměnnou ref předává hodnotu 150.
hťťp://www.web.eu/?ref=150#ref=150 je spojením obou předchozích do jednoho – odkaz vede na kotvu "ref=150" a zároveň v proměnné ref předává hodnotu 150.
AM_
Profil
Miloš
jo, tak jsem to také myslel, nevím, jestlis tu větu vůbec dočetl do konce, kde zmiňuji, že výhoda id je, že nemusíš použít <a>. Z teoretického hlediska to ani tak "hovadné" není, když budeš mít hromadu neodstavcovaného textu a budeš do něj chtít vložit záložku, je jedno, jestli bude <a>, <span> nebo co. Nepravděpodobné, ale možné.
A že <a name> je zastaralý zápis, to je fakt. Hojně se používá, protože je to ve spoustě manuálů a pořád to funguje, ale w3c je zavržen.
Miloš
Profil
AM_
když budeš mít hromadu neodstavcovaného
To nemám, protože nejsem čuně. Text patří do odstavců, respektive do seznamů anebo nadpisů.
Text volně plující v <body> až na výjimky nemá co dělat.

<a name> … ale w3c je zavržen
Kdy? Kde?
imploder
Profil
Je pravda, že <a name> vlastně logicky moc nesedí. Zatímco normální <a> je odkaz vedoucí někam, tohle je naopak cíl odkazu.
joe
Profil
Miloš
— hťťp://www.web.eu/#ref=150 je obyčejná adresa bez proměnné, kotva se jmenuje "ref=150" (<a name="ref=150">, případně <element id="ref=150">).

Tak to není, je možné předávat si takhle proměnné v url právě kvůli AJAXu a je to dost časté. Takže v tomhle případě se může jednat o proměnnou ref, kterou chce pavol získat.

Miloš & AM_ & imploder
<a name> sice zastaralé je, ale určitě neuškodí. Hlavně v případě, pokud vaše stránky navštěvují ještě lidé s prohlížečem třeba IE5.

pavol
Pokud to je tak, jak píšu, pak tu proměnnou jde získat jedině přes JavaScript a to pomocí window.location.hash a následně potom stránku přizpůsobit správnému obsahu.
Chamurappi
Profil
Reaguji na joa:
Tak to není
Tak to je. Což se nevylučuje s tím, že text za mřížkou může využívat JavaScript.

pokud vaše stránky navštěvují ještě lidé s prohlížečem třeba IE5
Vnímat ID jako kotvy už uměl i Explorer 4.


Reaguji na implodera:
Je pravda, že <a name> vlastně logicky moc nesedí.
To „a“ je zkratka od „anchor“, což je kotva. Kdyby praotec Tim nezamýšlel užívat <a> jako kotvu, nazval by tento element jinak.
Naopak bych řekl, že logicky nesedí, že <a> je odkaz vedoucí někam.
joe
Profil
Chamurappi

Tak to je.
Nevylučuje, ale předpokládám, že autor to skutečně chtěl tak zjistit, stejně tak jako já jsem se tady na to už ptal. Nevím proč, ale hrozně si zakládáš na slovíčkaření.
Pokud je za křížkem ref=150, na 99% mě napadne, že se bude jednat o nějakou proměnnou než o nějaký identifikátor v kódu.

Vnímat ID jako kotvy už uměl i Explorer 4.
Zajímavé, můj IE5, který mám to očividně nezvládá.
AM_
Profil
joe
Pokud je za křížkem ref=150, na 99% mě napadne, že se bude jednat o nějakou proměnnou než o nějaký identifikátor v kódu.
napadnout tě může co chce, ale ikdyby byl za křížkem samotný Ježíš Kristus, na server ho to nepřenese a jako pár klíč=>hodnota se taky chovat nebude. když pojmenuješ soubor "ref=150", tak to taky nebude fungovat jako klíč=>hodnota, ikdyž ti to tak třeba připadá.
Zajímavé, můj IE5, který mám to očividně nezvládá.
nebo ty ten kód nezvládáš napsat správně?
Miloš
Profil
AM_
<a name> … ale w3c je zavržen
Opakuji svoji otázku: Kdy? Kde?
Aesir
Profil
Podle mého tento konkrétní případ nemá v praxi s kotvou nic společného.
Je to klasický případ počítání přístupů dle identity javascriptem, při zachování jedinečné URL.
joe
Profil
AM_
nebo ty ten kód nezvládáš napsat správně?
Pán je tu krátce a dělá chytrého.

...na server ho to nepřenese...
Tvrdím snad někde, že se to na server přenese? Asi nezvládáš číst.

nebo hodnotu té kotvy by možná šlo serveru sdělit pomocí AJAXu.
Nešlo by to možná, šlo by to určitě, zřejmě to nezvládáš.

Promiň, ale nemám čas a ani náladu tady s tebou řešit to co kde v mém textu vyšťouráš. Já své napsal, nemám k tomu co víc dodat. Místo reakce na můj příspěvek reaguj spíš na Milošův, nebo snad nezvládáš zase číst?

Jinak viz. Aesir, potvrdil mou původní myšlenku tazatele.
Chamurappi
Profil
Reaguji na Aesira a joa:
Tazatel přeci jasně řekl, že chce „aby navstevnik skocil na zalozku (kotvu) a potrebuje nejak zistit aka to zalozka je“. Proměnnou tedy nejspíš přenášet nechce. Předpokládám, že tvar „proměnná=hodnota“ dal té záložce až ze zoufalství, když hledal postup, jak se ji v PHP dozvědět.
joe
Profil
Chamurappi
Nedá mi to a musím napsat. Záložkou taky mohl myslet AJAXové záložky, které se přepínají pomocí JavaScriptu a chce, aby když někdo klikne na záložku, změní se hash string v url a pak když někdo pošlě někomu tu samou adresu, aby byl na stejné záložce. Pokud tazatel není příliš zkušený, pak to bude tak jak píšete. Pokud však je už zkušenější a používá AJAX, pak v url přenáší proměnnou tak, jak jsem psal já a Aesir.

EDIT: ...a chtěl jen vědět, zda to jde přečíst pomocí PHP. Jak už jsem psal - stejně tak jak já to chtěl někdy vědět a zakládal kvůli tomu téma.
AM_
Profil
joe
„nebo hodnotu té kotvy by možná šlo serveru sdělit pomocí AJAXu.“
Nešlo by to možná, šlo by to určitě, zřejmě to nezvládáš.

Jenom jsem to nikdy nepotřeboval, tak nebudu psát určitě, pro případ, že bych se mýlil.

Pán je tu krátce a dělá chytrého.
ne, jen komentuju, že ti nejde zprovoznit základní věc.

Ajaxem můžeš kotvu pochopitelně rozparsovat, ale to už je něco jiného. Pochopitelně je mi jasné, že pro AJAX to jde použít.
Nechci urazit originálního autora tématu, ale přečti si jeho první příspěvek, kterým téma začalo. Myslíš, že ten člověk je těžký skiller v AJAXu (takže v PHP nebo jiném server-side skriptu, ale zde asi PHP, a Javascriptu), bez znalosti předávání GET proměnných?

Miloš
Ten text nemusí plout v body, to jsem neřekl, může být v divu, odstavci... ale jak jsem říkal, jt čistě teoretická situace, že...
„<a name> … ale w3c je zavržen“
Kdy? Kde?
někde jsem to četl, teď to nemůžu najít... každopádně zápis s id je mnohem praktičtější a obecně doporučovaný.
reduxcz
Profil *
AM ma pravdu <a name.. > se nepouziva( nemel by se ), podle xhtml w3c standardu to neni zavrzene ale neni to doporucene.
Jinak jestli chces se dostat na tu kotvu a potrebujes nasledne zjistit ktera kotva to byla tak to udelas pouze pres Ajax, jak jinak to chces zjistit? A proboha neradte mu tady takove blbosti, cloveka to jen mate.
Miloš
Profil
AM_
někde jsem to četl, teď to nemůžu najít...
To je škoda. Ale třeba Chamurappi bude vědět, kde konsorcium zavrho <a name>.

každopádně zápis s id je mnohem praktičtější
Mnohem? Proč?


reduxcz
AM ma pravdu <a name.. > se nepouziva( nemel by se ), podle xhtml w3c standardu to neni zavrzene ale neni to doporucene.
Další chytrolín. Prosím doložit standard, na který se odvoláváš.
Chamurappi
Profil
Reaguji na joa:
Záložkou taky mohl myslet AJAXové záložky, které se přepínají pomocí JavaScriptu
Psal o „skočení na záložku (kotvu)“, takže spíš myslel prachobyčejnou kotvu než nějaké nepřístupné AJAXové udělátko.

Reaguji na Miloše:
Ale třeba Chamurappi bude vědět, kde konsorcium zavrhlo <a name>.
Tady. Ale na tom moc nezáleží, doporučení XHTML 1.0 je zmatený zmetek sám hodný zavržení.
Miloš
Profil
Chamurappi OT
1) Odkaz ne tento tvůj příspěvek jakož na http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=89858&page=-1#11 mi přišel ze sandboxu; myslel jsem, že už se to u e-mailů odmazává, ale takhle to po mně chtělo autentizaci.
2) jsou jakosi pomatené kotvy u více stránkových vláken – protože jsou kotvy na každé stránce od #1, nepodařilo se mi v příspěvku http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=89858&page=-1#3 odkazovat [#číslem] na příspěvky předchozí stránky.
AM_
Profil
Miloš
„každopádně zápis s id je mnohem praktičtější“
Mnohem? Proč?

- nemusíš používat navíc <a>, protože kotva se často k žádnému odkazu nepojí
- kdybys tam <a> vecpal, bude to trochu rušit logiku dokumentu, sice <a> je původně kotva, ale dnes z 99% tag používaný pro odkazy
Viz Chamurappiho link:
Note that in XHTML 1.0, the name attribute of these elements is formally deprecated, and will be removed in a subsequent version of XHTML. takže je čas se to odnaučit používat, ať už je to doporučení napsané jakkoli, téhle frázi bych věřil, snad kromě odesílní polí formulářů se už atribut name běžně k ničemu nepoužívá.
A teď mi řekni jediný důvod PRO <a name> :)
Miloš
Profil
AM_
Nerozuměli jsme si – nejsem zastánce <a name> (používám ID), ale napadám tvrzení, že <a name> musíme zavrhnout, protože je to překonané, zastaralé a tak podobně.
I kdyby to konsorcium zavrhlo, stejně to musí fungovat, poněvadž je to součástí HTML a výrobci prohlížečů by byli magoři, kdyby nepodporovali prohlížení HTML. Což znamená, že je (a tedy i bude) <a name> funkční, validní i přístupné; o nic míň/víc než ID.
Chamurappi
Profil
Reaguji na AM_:
nemusíš používat navíc <a>
Použiješ-li <a name>, víš na první pohled, že jde jen o kotvu. Atributy ID mají širší využití, nikdy nevíš, co všechno rozbiješ jejich přejmenováním.
Sám také používám na kotvy ID.

sice <a> je původně kotva, ale dnes z 99% tag používaný pro odkazy
<a> je původně i odkaz. Odjakživa měl dva účely, odjakživa se používal převážně na odkazy.

ať už je to doporučení napsané jakkoli, téhle frázi bych věřil
Ta citovaná fráze také říká, že „name“ je zavržený i u elementů <iframe> a <frame>, což je v rozporu se zdravým rozumem, poněvadž atribut target nikdy zavržený nebyl a rámce bez jmen nejsou příliš provozuschopné. (Čímž samozřejmě nijak nehájím nevhodné užívání rámců.)
Názor W3C je irelevantní.


Reaguji na Miloše:
Provozní připomínky patří do své kategorie, nemusíš je trousit všude, kudy chodím :-)
O zmíněném nedostatku kotev víme, viz návrh (P.5).

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:

0