Avatar billede esbenn Nybegynder
09. november 2006 - 11:34 Der er 8 kommentarer og
1 løsning

Replace problem

Jeg bruger følgende kode til at indsætte i min database:

titel = Request.Form("titel")
udgivelse = Request.Form("udgivelse")
dato = Request.Form("aar") &"-"&Request.Form("man")&"-"&Request.Form("dag")
tra = Request.Form("beskrivelse")
la = Request.Form("type")
strText = Replace(Request.Form("tekst"), "?", "?")
srtText = Replace(Request.Form("tekst"), "&", "&")
strText = Replace(Request.Form("tekst"), "'", "\'")
strText = Replace(Request.Form("tekst"), """",""")

if isdate(dato) = true then
  Response.write "Gyldig Dato!"
else
  Response.redirect"../index.asp?menu=login&umenu=upload&mode=datofejl"
end if

SQL = "Insert into publikationer (titel, udgivelse, dato, beskrivelse, tekst, type) values('" & titel & "','" & udgivelse & "','"& dato &"','" & tra & "','" & strText & "','" & la & "')"
Response.Write SQL
conn.execute(SQL)

Response.redirect "../RTE.asp?mode=done"

Men den giver mig problemer.. Jeg tror nok selv fejlen ligger i at når jeg prøver at replace ", går den i ged... MEn håber en af jer lige kan se det igennem og finde fejlen...
Kan det lade sig gøre at lave en funktion der erstatter alle ', " osv fra en form??
Avatar billede cpufan Juniormester
09. november 2006 - 12:03 #1
prøv

strText = Replace(Request.Form("tekst"), "\"",""")
Avatar billede esbenn Nybegynder
09. november 2006 - 12:08 #2
Microsoft VBScript compilation error '800a03ea'

Syntax error

/upload/indsend.asp, line 18

strText = Replace(Request.Form("tekst"), "\"",""")
------------------------------------------------^

Desværre
Avatar billede wilweb Nybegynder
09. november 2006 - 12:16 #3
cpufan mener sådan tror jeg:
strText = Replace(Request.Form("tekst"), "\", """)
Avatar billede wilweb Nybegynder
09. november 2006 - 12:20 #4
Jeg skal vist holde op med at mene noget:<
strText = Replace(Request.Form("tekst"), "''", "&#34;")
Avatar billede esbenn Nybegynder
09. november 2006 - 12:25 #5
Desværre wilweb.. Ingen af dem virker..
Avatar billede fennec Nybegynder
09. november 2006 - 12:27 #6
Du overskriver replacen hver gang:
strText = Request.Form("tekst")
strText = Replace(strText , "?", "&#63;")
srtText = Replace(strText , "&", "&#38;")
strText = Replace(strText , "'", "\'")
strText = Replace(strText , """","&#34;")
Avatar billede esbenn Nybegynder
09. november 2006 - 12:38 #7
Nice! Tak!

Ved du om man kan lave så den erstatter alle de tegn fra en hel form isetdet for bare de enkelte inputfields...?
Avatar billede fennec Nybegynder
09. november 2006 - 12:48 #8
Ikke automatisk, men smid replacen i en funktione og kald den i stedet:

function MyReplace(byVal fText)
  fText = Replace(fText, "?", "&#63;")
  fText = Replace(fText, "&", "&#38;")
  fText = Replace(fText, "'", "\'")
  fText = Replace(fText, """","&#34;")
  MyReplace = fText
end function
...
...
strText = MyReplace(Request.Form("tekst"))
Avatar billede esbenn Nybegynder
09. november 2006 - 12:52 #9
Tak for hjælpen, og svar!
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