Avatar billede kpl Nybegynder
28. maj 2002 - 18:12 Der er 13 kommentarer og
1 løsning

Brug af "gyf" laver syntax error?

Hej
Jeg har en site hvor medlemmerne skal debatere på engelsk og når brugerne svarer og teksten indeholder en gyf ' - kommer der en syntax error? Hvordan undgår jeg dette?
Avatar billede signout Nybegynder
28. maj 2002 - 18:14 #1
Sørg for at escape den i din kode ved at erstatte alle ' med \'
Avatar billede eagleeye Praktikant
28. maj 2002 - 18:15 #2
Når du gemmer i en database med SQL benytte ' til at starte og slutte en streng, du skal konvertere til to '' efter hinanden så virker det:

textStr = replace(request.form("kommentarFelt","'","''")

og så i din SQL: "INSERT INTO tabel (kommentar) VALUES ('" & textStr & "')"
Avatar billede _just4fun_ Nybegynder
28. maj 2002 - 18:19 #3
Kom lige med et eksempel på den sql du prøver at bruge...
Avatar billede kpl Nybegynder
28. maj 2002 - 18:20 #4
Det skulle være her det går galt? - Alt lægges op i en access database


SQL = "UPDATE spm SET SVAR = '"& svar &"' WHERE (ID ="& request("spmid") &")"
conn.execute (SQL)
SQL1 = "SELECT * FROM spm WHERE id = " & request("spmid")
set mail = conn.execute( SQL1 )
Avatar billede medions Nybegynder
28. maj 2002 - 18:25 #5
SQL = "UPDATE spm SET SVAR = '"& Replace(svar,"'", "''" &"' WHERE (ID ="& request("spmid") &")"
conn.execute (SQL)
SQL1 = "SELECT * FROM spm WHERE id = " & request("spmid")
set mail = conn.execute( SQL1 )

//>Rune
Avatar billede medions Nybegynder
28. maj 2002 - 18:25 #6
SQL = "UPDATE spm SET SVAR = '"& Replace(svar,"'", "''") &"' WHERE (ID ="& request("spmid") &")"
conn.execute (SQL)
SQL1 = "SELECT * FROM spm WHERE id = " & request("spmid")
set mail = conn.execute( SQL1 )

ups..
//>Rune
Avatar billede kpl Nybegynder
28. maj 2002 - 18:29 #7
Medions

Det virkede TAK
Avatar billede medions Nybegynder
28. maj 2002 - 18:30 #8
Thx 4 poinz
//>Rune
Avatar billede medions Nybegynder
28. maj 2002 - 18:31 #9
eangleeye> jeg opretter lige et spm så du får 10 af poinzne, da du jo egentlig kom først med svaret... er det ok?

//>Rune
Avatar billede eagleeye Praktikant
28. maj 2002 - 18:39 #10
Tak.. men det går nok uden :)
Avatar billede medions Nybegynder
28. maj 2002 - 18:40 #11
;-)
//>Rune
Avatar billede kpl Nybegynder
30. maj 2002 - 09:29 #12
Hej Beklager at jeg ikke lige fik fordelt pointene som de burde...

Jeg har en anden site hvor problemet er det samme men med anden kode. Vil I at jeg opretter et nyt spørgsmål eller kan vi klare det her?

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
           
            strKat = int(Request.Form("kat"))
            strTitel = Server.HTMLEncode(Request.form("Titel"))
            strOmraade = Request.Form("omraade")
            strMsg = Server.HTMLEncode(Request.Form("annonce"))
            strMsg = Replace(strMsg,vBcrlf,"<br>")
           
            if strMsg <> "" then
                set temp = Conn.Execute("SELECT brugerAlder AS Alder from users Where id = " & Session("id") & "")
                Alder = temp("alder")
                sql = "insert into annoncer ([kat], [userid], dato, overskrift, [text], omrade, alder) values (" & strKat & ", '" & Session("id") & "', '" & Now() & "', '" & strTitel & "', '" & strMsg & "', '" & strOmraade & "'," & alder & ")"
                Response.Write "<br>" & sql
                Conn.Execute(sql)
                Response.Redirect("newadd.asp?page=created")
            end if
Avatar billede kpl Nybegynder
30. maj 2002 - 09:47 #13
Avatar billede eagleeye Praktikant
30. maj 2002 - 09:48 #14
Som hoved regl bør man ændre en ' til to '' når det noget en bruger kan taste ind (brugere har det med at gøre dumme ting). Det gælder kun for tekst/notat felter.


Så du kan rette disse linier:
  strKat = int(Request.Form("kat"))
  strTitel = Server.HTMLEncode(Request.form("Titel"))
  strOmraade = Request.Form("omraade")
  strMsg = Server.HTMLEncode(Request.Form("annonce"))
  strMsg = Replace(strMsg,vBcrlf,"<br>")

Til disse:
  strKat = int(Request.Form("kat"))
  strTitel = replace(Server.HTMLEncode(Request.form("Titel")),"'","''")
  strOmraade = replace(Request.Form("omraade"),"'","''")
  strMsg = Server.HTMLEncode(Request.Form("annonce"))
  strMsg = Replace(Replace(strMsg,vBcrlf,"<br>"),"'","''")
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