Avatar billede Slettet bruger
29. januar 2002 - 14:03 Der er 13 kommentarer og
1 løsning

ASP fejl. Underlig!

Hej!

Jeg har en ASP side, som skal sætte noget fra en form ind i en access database:

<%
if session("username") = "" then
response.redirect("default.asp")
end if

set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/mails.mdb")

to =request("til")
body = Request("besked")
from = Session("username")
subject = Request("emne")


sql="INSERT INTO mails (body, to, from, subject) VALUES ('" & body & "', '" & to & "', '" & from & "', '" & subject & "')"
conn.Execute(sql)

    set conn = nothing

%>
<center><br><br><b>Din besked er sendt!</b><br><br><br><br><br><br><br><br></center>


Og der kommer denne fejl:

Microsoft VBScript compilation error '800a0400'

Expected statement

/mails/send.asp, line 9

to =request("til")
^


Med venlig hilsen
Philip Dahlstrøm

Avatar billede coltau Juniormester
29. januar 2002 - 14:13 #1
Du må ikke anvende ordet to som variabel da det er reserveret.
Samtidig skal det hedde Request.Form("til")
Avatar billede cultx Nybegynder
29. januar 2002 - 14:15 #2
Du mangler lidt til dine "Request"'s:

to =request("til")
body = Request("besked")
from = Session("username")
subject = Request("emne")


Prøv istedet dette, hvis du i din FORM har brugt "Method=POST":

to = Request.Form("til")
body = Request.Form("besked")
from = Session("username")
subject = Request.Form("emne")


Eller hvis du i din FORM har brugt "Method=GET":

to = Request.QueryString("til")
body = Request.QueryString("besked")
from = Session("username")
subject = Request.QueryString("emne")


Håber det hjalp dit problem... ;-)
Avatar billede Slettet bruger
29. januar 2002 - 14:28 #3
Microsoft VBScript compilation error '800a0400'

Expected statement

/mails/send.asp, line 9

to = Request.Form("til")
^
Avatar billede coltau Juniormester
29. januar 2002 - 14:37 #4
Du må stadigvæk ikke anvende ordet to i sætningen:

to =request("til")

brug eksempelvis

<%
strTo = Request.Form("til")
body = Request.Form("besked")
from = Session("username")
subject = Request.Form("emne")


sql="INSERT INTO mails (body, to, from, subject) VALUES ('" & body & "', '" & strTo & "', '" & from & "', '" & subject & "')"
conn.Execute(sql)

    set conn = nothing
Avatar billede sylvester1 Nybegynder
29. januar 2002 - 14:37 #5
Istedet for "to" som variabel skal du bruge et andet ord. ordet "to" er reserveret i ASP/VBScript.

Eks.:
toField = Request.Form("til")
Avatar billede Slettet bruger
29. januar 2002 - 14:57 #6
Efter jeg har gjort som colteau sagde får jeg denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/mails/send.asp, line 19
Avatar billede coltau Juniormester
29. januar 2002 - 15:15 #7
To må heller ikke anvendes som feltnavne i database. Og dog. Prøv dette:

sql="INSERT INTO mails (body, [mails.to], from, subject) VALUES ('" & body & "', '" & strTo & "', '" & from & "', '" & subject & "')"

og så skal du sikre dig at alle VALUES indeholder noget tekst. Ellers kommer der også fejl.
Avatar billede coltau Juniormester
29. januar 2002 - 15:18 #8
Her er alle ord ændret.

strTo = Request.Form("til")
strBody = Request.Form("besked")
strFrom = Session("username")
strSubject = Request.Form("emne")


sql="INSERT INTO mails ([mails.body], [mails.to], [mails.from], [mails.subject]) VALUES ('" & strBody & "', '" & strTo & "', '" & strFrom & "', '" & strSubject & "')"


Så skulle de værste gunde til fejl være fjernet. (Pånær null-værdier)
Avatar billede Slettet bruger
30. januar 2002 - 10:33 #9
Jeg har omdøbt feltnavnet til modtager og nu virker det!
Avatar billede razor Nybegynder
12. marts 2002 - 20:37 #10
philip, hvad er grunden til at du ikke værdsætter andre brugeres arbejde, og tager alle pointsne selv?
Avatar billede razor Nybegynder
15. marts 2002 - 22:34 #11
Jeg har deaktiveret philip - Så kommer han ikke til at lave flere narrestreger
Avatar billede johnstigers Seniormester
24. marts 2002 - 22:34 #12
razor> øøøhhhh... du er da vist ikke så god til at være coadmin når du ikke engang kan deaktivere en sølle bruger: http://www.eksperten.dk/bruger.phtml?navn=philip
Avatar billede Slettet bruger
25. marts 2002 - 00:23 #13
Jeg har snakket med ejeren af eksperten.dk og han har aktiveret mig igen.
Efter min mening har razor misbrugt sin magt.
Avatar billede dmcn Praktikant
25. marts 2002 - 13:54 #14
philip : Hvis du har snakket med admin, så håber jeg også han har givet dig en advarsel. Man giver point for korrekte svar - sådan er det. Bryder du den regel igen vil du blive deaktiveret - igen. Og denne gang med admins accept.
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