Avatar billede jensrrasmussen Juniormester
18. juli 2014 - 11:28 Der er 14 kommentarer og
1 løsning

href med & i value

hej eksperter/

Jeg har 2 asp-sider som linker til hinanden samt overfører variable.
En madside som linker til en vin-side med de vine der passer til maden - og en Vinside som linker til madsiden med de retter der passer til vinen.

Begge sider henter deres indhold fra en accessdatabase.

Begge sider virker uden fejl og har også bestået valideringstesten på W3C.

Nu ville jeg så tjekke for døde links igen med værktøjet fra W3C - og her blev resultatet, at der var internal server problems med 4 links. Og disse fire links indeholdt alle danske bogstaver. Alle andre links uden danske bogstaver blev ikke kommenteret.

FX
response.write ".... ..<a href='cultwinevine.asp?vintype=madvin&vinnummer=" & rs1("varenr") & "'>" & rs1("navn") & "</a>"
Og rs1("navn") kan fx være Vildtkølle - med det danske 'ø'.

jeg gætter på at det danske 'ø' et sted i processen fra database til program til link bliver erstattet med &oslash; hvorved der kommer et ekstra '&' ind i linket - og det er måske det, der giver problemer for W3Cs linktjekker?

Syntaksen er jo <a href=xxxxxx&name=value? og hvis value så selv indeholder et '&' tror fortolkeren måske at der er en 2. parameter med i linket?

Hvordan "escaper" man '&' i et link, så det ikke bliver misopfattet? Hvis det er det der er mit problem!

mvh.
    /jens
Avatar billede Slater Ekspert
18. juli 2014 - 11:39 #1
&amp;
Avatar billede jensrrasmussen Juniormester
18. juli 2014 - 11:45 #2
Nå nej - det var et forkert link jeg gav som eksempel.
Det link, der er problemer med, er dette

response.write "<li> <a href='cultwinemad.asp?opskrift=" & rsm("madnavn") & "'>" & rsm("madnavn") & "</a></li>"

hvor rs("madnavn") fx er Vildkølle,

Mit spørgsmål er stadig det samme. er det ikke ø'et der giver problemer og hvis 'ja'- hvordan esaper jeg det?

mvh.
  /jens
Avatar billede jensrrasmussen Juniormester
18. juli 2014 - 11:59 #3
Jeg er ikke sikker på at jeg forstår dig.

Jeg har:
"<a href='cultwinemad.asp?opskrift=" & rsm("madnavn") & "'>" & rsm("madnavn") & "</a>

hvor rsm("madnavn") i Accessdatabasen står som Vildkølle,

Jeg gætter på, at Vildkølle bag om ryggen på mig bliver oversat til Vildk&oslash;lle - men jeg ved det ikke! Og jeg gætter på at der i links ikke må være "forstyrrende &'er.

Så hvis jeg erstatter & med &amp; er jeg da vist ligevidt, ikk?

mvh.
  /jens
Avatar billede kurtmo Novice
18. juli 2014 - 12:26 #4
Du kan url-indpakke sådan her: Server.URLEncode(var)
Avatar billede Slater Ekspert
18. juli 2014 - 12:30 #5
Nej, undskyld, jeg har misforstået dig - det beklager jeg. Der er for mange &'er fordi andre tegn allerede bliver url-encoded.

Hvad jeg ikke helt er sikker på, ud fra hvad du har skrevet, er om ø'et bliver til &oslash; i den renderede HTML. Altså, når du viser kilde for siden, står der så ø eller &oslash; - eller er det kun i W3C?
Avatar billede Slater Ekspert
18. juli 2014 - 12:47 #6
Kurtmo: Det er så vidt jeg forstår det modsatte han skal bruge, og der er ikke nogen UrlDecode funktion indbygget i ASP, så vidt jeg ved. - Men det må kunne lade sig gøre ikke at encode det i første omgang.


- Hvis det da overhovedet er et problem. Der er ikke noget galt i ikke at overholde W3C 100%.
Avatar billede jensrrasmussen Juniormester
18. juli 2014 - 12:57 #7
Kildekoden sider pænt
<a href='cultwinemad.asp?opskrift=Vildkølle'>

og W3C linktjekker siger
Line: 43 http://www.cultwine.dk/cultwinemad.asp?opskrift=Vildk%C3%B8lleStatus: 500 Internal Server Error
This is a server side problem. Check the URI.

Og ja - jeg kan jo være ligeglad for alt virker tilsyneladende perfekt - men det nager mig, at der måske er en teknisk ting jeg bør gøre, så også W3C vil klappe i hænderne :-)

Når det med 99% sandsynlighed er ø'et der skaber problemer, skulle man tro, at der var tusinder før mig, der har set samme problem med danske bogstaver i en linkreference med overførte parametre.

mvh.
  /jens
Avatar billede jensrrasmussen Juniormester
18. juli 2014 - 13:06 #8
Tak - det løste problemet.

<a href='cultwinemad.asp?opskrift=" & server.URLEncode(rsm("madnavn")) & "'>

gør hele forskellen :-)
Avatar billede arne_v Ekspert
20. juli 2014 - 02:11 #9
Var #4 ikke korrekt?
Avatar billede jensrrasmussen Juniormester
20. juli 2014 - 09:01 #10
Det var  Kurtmo der løste problemet. Efter at jeg urlencoder de danske navne giver w3c linktjekker ikke fejl mere.
Jens
Avatar billede arne_v Ekspert
20. juli 2014 - 15:18 #11
Hvorfor tog du saa selv point?
Avatar billede jensrrasmussen Juniormester
20. juli 2014 - 20:50 #12
Fordi jeg er en klovn der troede at jeg har ham  point. Hvordan retter jeg den fejl?
Avatar billede arne_v Ekspert
20. juli 2014 - 21:59 #13
Opret et nyt spm. med en ref til dette spm. som han kan svare paa.
Avatar billede 220661 Ekspert
25. juli 2014 - 16:41 #14
Avatar billede jensrrasmussen Juniormester
26. juli 2014 - 17:41 #15
tak - point til kurtmo
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester