Avatar billede Slettet bruger
12. august 2007 - 10:26 Der er 12 kommentarer og
1 løsning

Problemer med gåseøjne i input

Jeg skal gemme noget tekst fra nogle inputs, men hvis teksten indeholder gåseøjne (") så er det kun teksten før det første " der bliver gemt og hvis jeg i stedet for bruger ' så bliver der bare problemer når jeg skriver en sætning der indeholder samme tegn.
Hvad kan man gøre for både at kunne bruge " og ' i samme sætning?
Avatar billede keysersoze Ekspert
12. august 2007 - 10:42 #1
jeg gætter på at du taler om input til database? i så fald skal du gøre følgende;

SQL = "INSERT INTO tabel (kolonne) VALUES ('" & Replace(Request.Form("formfelt"),"'","''") & "')"

ved udskrift er alt ved det normale - fx;

Response.Write rs("kolonne")
Avatar billede nielle Nybegynder
12. august 2007 - 10:45 #2
Gåseøjne " skal gentages to gange hvid de skal være en del af en streng

tekst = "Sette er niget tekst med gæseøjne, "", og ""pinger"", ', i"
Avatar billede morhan Novice
12. august 2007 - 11:01 #3
gåseøjne skaber normalt ikke problemer i forbindelse med databasen. Det er nærmere din html der går i stykker. Hvis du har teksten: en tekst "med gåseøjne"

og indsætter den i en form-input:

<input type="text" value="en tekst "med gåseøjne"">

så forvirrer det browseren. Den tror value slutter med mellemrummet efter "en tekst". Det kan løses ved at hive teksten gennem Server.HTMLEncode før du indsætter det i formen
Avatar billede euhp Nybegynder
12. august 2007 - 11:09 #4
Morhan, forkert...
Det er ikke HTML'en der går i stykker, men ASP-koden der bliver brudt forkert.

Mht database så er det rigtigt at anførselstegn skal dobles her også.
Avatar billede morhan Novice
12. august 2007 - 11:10 #5
Nej, asp koden kan aldrig bliver brudt, da inputtet kommer udefra.

Det er kun hvis du i selvkode koden selv skriver gåseøjne, at du skal benytte løsningen fra nielle
Avatar billede euhp Nybegynder
12. august 2007 - 11:38 #6
nååååh ja det er rigtigt, der skal laves en replace på tekstfelterne.

tekst=Replace(tekst,"""","""""")
Avatar billede morhan Novice
12. august 2007 - 11:41 #7
Den replace vil ikke løse problemet omkring html
Avatar billede Slettet bruger
12. august 2007 - 18:08 #8
Nå men har lavet en test og det viser sig at morhan har ret, når jeg bruger Server.HTMLEncode så virker det hele som det skal.
Men skal man så ikke bruge en slags DECODE inden man sætter det ind i databasen, eller det finder den måske selv ud af?
Avatar billede keysersoze Ekspert
12. august 2007 - 18:44 #9
det eneste du skal gøre i henhold til input til databasen er at tage forhold for ' - altså som jeg skrev tidligere.
Avatar billede keysersoze Ekspert
02. oktober 2007 - 11:22 #10
kommet videre?
Avatar billede Slettet bruger
02. oktober 2007 - 11:42 #11
Ja, beklager at der er gået så langt tid. Problemet blev løst med Server.HTMLEncode, så de 200 point må tilfalde morhan.

Men tak for hjælpen til jer alle sammen.
Avatar billede keysersoze Ekspert
16. december 2007 - 10:51 #12
husk også at acceptere et svar :)
Avatar billede Slettet bruger
16. december 2007 - 11:40 #13
Ja selvfølgelig, havde helt glemt det her spørgsmål, da jeg ventede på svar fra de andre.
Så da der ikke er andre, så overlader jeg alle point til dig. Og tak for påmindelsen :)
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