Avatar billede killerbob Nybegynder
06. april 2006 - 10:13 Der er 17 kommentarer

Currency i link kommer forkert ud

Hej

Jeg har en kode der skal opbygge et link som sendes i en mail

Mailbody= "https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=Ordre fra "&Server.urlencode(request.form("navn"))&"&amount="&TotalPP&"&Currency_code=EUR"

Det virker OK - og resultatet burde se sådan her ud:

https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=Ordre fra Navn+Navnesen&amount=2.860&currency_code=EUR


https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=Ordre fra Navn+Navnesen&amount=2.860¤cy_code=EUR

Problemet er altså at der er "noget" der erstatter "&currency_code" med "¤cy_code"

Jeg har forsøgt at "snyde" ved at lave to variabler C1="&curren" og C2="cy_code" og så slutte koden med &C1&C2&"=EUR" istedet for at skrive det i ren tekst - men resultatet bliver det samme!

Nogen der kan hjælpe ?
Avatar billede coltau Juniormester
06. april 2006 - 10:45 #1
Hvis "currency_code" er en form for reserveret ord kan du måske ændre det til noget andet. Eks: CurCode
Avatar billede killerbob Nybegynder
06. april 2006 - 10:49 #2
Som det fremgår er dette et link som opbygges til PayPal .... Der SKAL stå currency_code .... men du har ret i at det nok er det der er problemet - for retter jeg teksten til carrency_code kommer den rigtigt frem .....
Avatar billede coltau Juniormester
06. april 2006 - 11:17 #3
Jeg har prøvet at lave et link der indeholder variablen: currency_code uden problemer. Kan det være at problemet opstår efterfølgende.

Du anvender variablen: mailbody

Du kan måske starte med at få udskrevet indholdet af den med response.write og ellers prøve at indkredse problemet.
Avatar billede eagleeye Praktikant
06. april 2006 - 18:51 #4
Hvor er det problemet opstår når du udskriver mailbody eller trykker på linket?

Du kan prøv at sætte Server.urlencode omkring alle data i linket:

Mailbody= "https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=" & Server.urlencode("Ordre fra "&request.form("navn"))&"&amount="&Server.urlencode(TotalPP)&"&Currency_code=EUR"
Avatar billede killerbob Nybegynder
06. april 2006 - 19:01 #5
Det er i mailen der kommer frem hvor linket er forkert....

Jeg har forsøgt server.urlencode både omkring "navn" og har faktisk også sat den til server.urlencode(&currency_code=EUR) - og det virker på den måde at "currency" ikke længere oversættes til noget andet - men linket virker ikke fordi PayPal ikke forsår de tegn som erstattes af´med % osv... Sætter jeg server.urlencode bare rundt om "currency" bliver det erstattet alligevel med "Cur" - og så er vi lige vidt !

Jeg har også forsøgt med "response.write" - og der kommer problemet også - så det er ikke "Mailbody" der laver ged....
Avatar billede eagleeye Praktikant
06. april 2006 - 19:07 #6
Hvis du skriver 

response.write mailbody

skriver den så teksen forkert???
Avatar billede killerbob Nybegynder
06. april 2006 - 19:08 #7
ja for dælen - så er der flere specialtegn end alt andet
Avatar billede eagleeye Praktikant
06. april 2006 - 19:10 #8
Ja det vil der være pga. URLencode men skriver den ordet "currency_code"

Server.UrlEncode bruges omkring data i Querystringen så special tegn ikke driller de tegn man bruge i links som ?, &, #. Samt lave andre special tegn om til %xx
Avatar billede eagleeye Praktikant
06. april 2006 - 19:12 #9
eks hvis navn er Lars Larsen og prisen er 2000.00 vil den skrive linket som dette:

https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=Ordre+fra+Lars+Larsen&amount=2000%2E00&Currency_code=EUR

Tjek at der står  &Currency_code=EUR  og ikke ¤cy_code=EUR
Avatar billede eagleeye Praktikant
06. april 2006 - 19:14 #10
paypal er case sensitiv så det skal være lille c i Currency_code
Avatar billede killerbob Nybegynder
06. april 2006 - 19:17 #11
https%3A%2F%2Fwww%2Epaypal%2Ecom%2Fxclick%2Fbusiness%3Dxxxx%40yyy%2Edk%26item%5Fname%3DOrdre+fra+Lars+Larsen%26amount%3D572%26currency%5Fcode%3DEUR

her er det godt nok kun 572 EUR - men sådan kommer den frem med server.urlencode om hele strengen
Avatar billede eagleeye Praktikant
06. april 2006 - 19:18 #12
Arh det noget IE crap... Efter jeg prøvede at rette C->c skriver IE  ¤cy_code=
MEn kigger jeg i view source skriver den:  &currency_code=

Prøver jeg samme kode i Morzille ser det rigtigt ud.
Avatar billede eagleeye Praktikant
06. april 2006 - 19:19 #13
Du skal kun havde Server.URLencode omkring data ikke & og querystring variable.:

Mailbody= "https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=" & Server.urlencode("Ordre fra "&request.form("navn"))&"&amount="&Server.urlencode(TotalPP)&"&currency_code=EUR"
Avatar billede eagleeye Praktikant
06. april 2006 - 19:25 #14
Prøv at skrive & før currency_code:


Mailbody= "https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=" & Server.urlencode("Ordre fra "&request.form("navn"))&"&amount="&Server.urlencode(TotalPP)&"&currency_code=EUR"
Avatar billede eagleeye Praktikant
06. april 2006 - 19:26 #15
Prøv at skrive & før currency_code:


Mailbody= "https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=" & Server.urlencode("Ordre fra "&request.form("navn"))&"&amount="&Server.urlencode(TotalPP)&"&currency_code=EUR"
Avatar billede eagleeye Praktikant
06. april 2006 - 19:27 #16
doh..lol den kom to gange. Den timede eller ud så jeg troede ikke den kom med :)
Avatar billede eagleeye Praktikant
14. april 2006 - 09:09 #17
Fik du prøvet det med & i linket i stedet for kun &?

Mailbody= "https://www.paypal.com/xclick/business=xxxx@yyy.dk&item_name=" & Server.urlencode("Ordre fra "&request.form("navn"))&"&amount="&Server.urlencode(TotalPP)&"&currency_code=EUR"




Hvis du søger på google.com vil du et par andre som har haft samme problem.
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
Kategori
Kurser inden for grundlæggende programmering

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