Avatar billede perh Juniormester
27. februar 2001 - 12:46 Der er 3 kommentarer og
1 løsning

%20 i.st.f mellemrum på webside

Jeg overfører brugerens navn fra et formmail-script til redirect-url for en takkeside

url=domæne/side.html?$Afsendernavn

så jeg kan bruge navnet på siden med java script:

Tak \"Peter Hansen Olsen\"  bla bla...

Men jeg får mellemrummene skrevet som %20.
Hvordan kan jeg klare det? Jeg skal stadig have navnet overført med mellemrum i emailen.

I formmail scriptet bruger jeg:
$name =~ tr/+/ /;
        $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;

        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;


Avatar billede erikjacobsen Ekspert
27. februar 2001 - 14:42 #1
som du kan se laver du f.eks. et + om til mellemrum, så du skal bare
gøre det modsatte:

    tr/ /+/

Avatar billede perh Juniormester
27. februar 2001 - 15:17 #2
Ja, det er rigtigt, men jeg skal faktisk bruge et mellemrum, det skulle bare ikke overføres som %20.
Men i mellemtiden har jeg løst det med javascript på det dokument, der modtager navnet:

unescape(location.search.substring(1))

så skrives der et mellemrum i st. f. %20

Hvordan lukker jeg dette spørgsmål? Kan jeg give mig selv pontene?
Avatar billede erikjacobsen Ekspert
27. februar 2001 - 15:19 #3
Sagtens - lav et svar!

Ok - jeg troede det kom fra et andet perl-script. Bruger du et felt i en form,
sker det automatisk, og med method=\"get\" kommer det i URL-en som f.eks.
....?url=....&navn=peter+hansen

Vil det ikke være nemmere?
Avatar billede perh Juniormester
27. februar 2001 - 15:44 #4
Tak for svar
Nej, jeg synes den er god nu.
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