Har inget med SQL att göra varName är inte ett boolean värde,
If varName = "" or varEmail = "" Then
Är det det du är ute efter?
(flyttar tråden till ASP)
5 svar · 802 visningar · startad av WebbisNet
Om fälten är tomma så ska felmeddelande visas, om inte så ska posten sparas men jag får bara
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[string: ""]'
/skapaTabell.asp, line 27
Rad 27 är IF NOT
med koden
varName= Request.Form ("txtName")
varEmail= Request.Form ("txtEmail")
varMessage= Request.Form ("txtMessage")
varTimeDate = Now()
varIP = Request.ServerVariables("remote_host")
IF NOT varName or varEmail <> "" Then
Response.Write "<font style=""color:red; font-wight:bold;"">Skriv in namn och e-post</font>"
Else
SET objConn = connect()
guestbook= "INSERT INTO guestbook"
guestbook= guestbook & "(name,email,timedate,message,IP) "
guestbook= guestbook & "VALUES('"& varName &"','"& varEmail &"','"& varTimeDate &"','"& varMessage &"','"& varIP &"')"
'Response.Write guestbook
'Response.End
objConn.Execute guestbook
Response.write "Du har postat <br>"
Response.Write "Namn: "&varName
Response.Write "<br>Epost "&varEmail
Response.Write "<br>Meddelande: "&varMessage
Response.Write "<br>När: "&varTimeDate
Response.Write " från IP "&varIP
END IF
END IF
Har inget med SQL att göra varName är inte ett boolean värde,
If varName = "" or varEmail = "" Then
Är det det du är ute efter?
(flyttar tråden till ASP)
Har inget med SQL att göra varName är inte ett boolean värde,
If varName = "" or varEmail = "" Then
Är det det du är ute efter?
(flyttar tråden till ASP)
Funkade bättre men jag tänkte utöka till att göra den idiotsäker men nu får jag bara fram den första ifsatsen om att inte lämna fälten tomma oavsett vilket man fyller i
If varName="" or varEmail="" or varMessage="" Then
Response.Write("Du kan inte lämna fälten tomma")
ElseIf varEmail = "" Then
Response.Write("Skriv in din mailadress")
ElseIf varMessage = "" Then
Response.Write("Skriv in ett meddelande")
ElseIf varName = "" Then
Response.Write("Skriv in ditt namn")
Den kör ju aldrig ElseIf satserna eftersom om nån av dem är sanna så har den kört den översta if satsen redan.
If varName="" or varEmail="" or varMessage="" Then
Response.Write("Du kan inte lämna fälten tomma")
If varEmail = "" Then
Response.Write("Skriv in din mailadress")
If varMessage = "" Then
Response.Write("Skriv in ett meddelande")
If varName = "" Then
Response.Write("Skriv in ditt namn")
Den kör ju aldrig ElseIf satserna eftersom om nån av dem är sanna så har den kört den översta if satsen redan.
If varName="" or varEmail="" or varMessage="" Then Response.Write("Du kan inte lämna fälten tomma") If varEmail = "" Then Response.Write("Skriv in din mailadress") If varMessage = "" Then Response.Write("Skriv in ett meddelande") If varName = "" Then Response.Write("Skriv in ditt namn")
tänkte bara få den helt failsafe :-)
tänkte bara få den helt failsafe :-)
Den är helt "fail safe" även om du bara kör den översta if-satsen. Som Aron skrev, du kollar ju i den översta om någon (vilken som) är tom. Samma sak som du gör i de tre andra.