Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Nevalidní html

Zdravím,
Poradíte prosím, co udělat, když moje stránky obsahují odkazy na adresy obsahující ID a Level?
jde o to, že w3.org striktně prohlašuje moje stránky za nevalidní.
Našel by se třeba nějaký článeček, který řeší co s tím?

Díky

# r Line 201 column 72: reference to entity "KatID" for which no system identifier could be generated.
...author/Detail.asp?ClanekID=295&KatID =1012" target="_blank">manuál<


# Info Line 115 column 66: entity was defined here.
...la.cz/author/Detail.asp?ClanekID=295&KatI D=1012" target="_blank">Download

# Error Line 202 column 79: reference to entity "Level" for which no system identifier could be generated.
...scripts/detail.asp?itemid=20390&Leve l=2107" target="_blank">info

Předmět Autor Datum
Pro jaký DOCTYPE to má být validní? Lepší by bylo sem vložit část zdrojáku nebo dát odkaz na tu konk…
host 05.06.2006 13:30
host
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Musím to tak mít nemám a výběr (musí…
Pendolíno 05.06.2006 13:33
Pendolíno
325: reference to entity X for which no system identifier could be generated This is usually a casca…
host 05.06.2006 13:51
host
Řekl bych, že ampersand je specialní entita a tudíž musí být napsaná jako &amp; . Mělo by to vypad…
krok 05.06.2006 13:54
krok
No, ono záleží na nastavení serveru, jestli to na entitu převede automaticky... Jinak běžně stačí ps…
host 05.06.2006 14:01
host
Vyzkouším, ozvu se za chvíli
Pendolíno 05.06.2006 14:03
Pendolíno
:-( tak mi to nefunguje ADODB.Field error '800a0bcd' Either BOF or EOF is True, or the current rec…
Pendolíno 05.06.2006 15:17
Pendolíno
Nahradenie & za &amp; vo všetkých adresách, ktoré sú priamo na HTML stránke, by malo validitu stránk…
los 05.06.2006 16:09
los
Pokud to můžu nahradit přímo v odkazu, tak potom ten odkaz nefunguje. To bude ale asi chyba spíše tě…
Pendolíno 06.06.2006 15:16
Pendolíno
Ak by HTML kód vyzeral takto: <a href="www.zebra.cz/rozruch/Detail.asp?ClanekID=295&amp;KatID=1012"… poslední
los 06.06.2006 17:07
los

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Musím to tak mít nemám a výběr (musím to mít stejné jako zbytek - NE MOJEHO webu)

Vzhledem k tomu, že nemohu publikovat předem, nemohu poskytnout část zdrojáků)
Díky

325: reference to entity X for which no system identifier could be generated
This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.

Možná by pomohlo převést v URL ampersand & na entitu &amp;

No, ono záleží na nastavení serveru, jestli to na entitu převede automaticky...
Jinak běžně stačí psát jenom "&" a validátorem to projde bez problémů.

Pokud je nutné převod na entity zajistit skriptem a je povoleno měnit konfiguraci serveru, tak to lze pomocí PHP takto:

ini_set("arg_separator.output","&");

//edit: teď jsem si uvědomil, že tazatel má stránky v ASP, takže moje poznámka o PHP je irelevantní...

:-( tak mi to nefunguje

ADODB.Field error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/author/_inc/Kategorie_INC.asp, line 248

BTW. author je smyšlený, samozřejmě jde o jiný hosting.

Nahradenie & za &amp; vo všetkých adresách, ktoré sú priamo na HTML stránke, by malo validitu stránky naozaj vyriešiť (bez vedľajších účinkov). Dúfam, že nahrádzaš & za &amp; len vo výstupnom HTML, a nie napríklad aj v Response.Redirect a pod. Skús si vypísať, že aký parameter dostane ten skript, v ktorom dochádza ku chybe pri čítaní z databázy.
BTW: Používateľské vstupy by si mal mať ošetrené a po vykonaní SQL príkazu by si mal tiež kontrolovať, či sa nejaký záznam našiel (tuším cez kontrolu rs.eof), aby to takto nepadalo v prípade, že sa zadá niečo neočakávané alebo sa nenájde žiaden záznam.

Ak by HTML kód vyzeral takto:

<a href="www.zebra.cz/rozruch/Detail.asp?ClanekID=295&amp;KatID=1012">www.zebra.cz/rozruch/Detail.asp?ClanekID=295&amp;KatID=1012</a>

tak sa na stránke zobrazí takto:

www.zebra.cz/rozruch/Detail.asp?ClanekID=295&KatID=1012

a bude odkazovať správne.

Neviem, ako a kam dávaš tú adresu - skús sem dať ten HTML kód odkazu tak, ako ho vygeneruješ (prípadne kus zdrojového kódu, ktorým ten odkaz generuješ) a uvidíme. Dúfam, že tú adresu s &amp; nezadávaš priamo do prehliadača, lebo to určite fungovať nebude...

Zpět do poradny Odpovědět na původní otázku Nahoru