---
title: "Problem med gästbok"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/121713-problem-med-gästbok"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "logic"
published: "2005-02-04T11:38:13.000Z"
updated: "2005-02-05T00:23:09.000Z"
replies: 8
views: 384
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/121713-problem-med-gästbok"
---

# Problem med gästbok

## #1 — logic, 2005-02-04T11:38Z

Hej! Jag har stora problem med ett gästboksscript. Förstår inte felet, nån som kan upplya mig?

Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/kagg/projekt/ms079/gb/gb.asp, line 44 

sql = sql & "values ('"&namn&"','"&email&"','"&hemsida&"','"&ip&"','"&inlagg&"')"
\----------------------------------------------^

Koden ser ut såhär:

```
<html>
<head>
<style type="text/css">
<!--
.inlagg {
padding: 5px;
width: 350px;
border: 1px solid #999999;
overflow: auto;
background-color: #FFF;
font-family: verdana;
font-size: 12px;
}
-->
</style>
</head>
<body>
<form action="gb.asp?post=1" method="post">
Namn: <input type="text" name="namn"><br />
Email: <input type="text" name="email"><br />
Hemsida: <input type="text" name="hemsida"><br />
Inlägg:<br /><textarea name="inlagg"></textarea><br />
<input type="submit" value="Ok">
</form>
<%
'Koppling till DB!
adress=Server.MapPath("gb.mdb")
Set conn = Server.CreateObject("ADODB.Connection") 
basen = "driver={Microsoft Access Driver (*.mdb)};dbq="&adress 

'Skapar inlägg
if request.querystring("post") > "" and request.form("inlagg") > "" then
namn = request.form("namn")
email = request.form("email")
hemsida = request.form("hemsida")
ip = request.servervariables("remote_addr")
inlagg = request.form("inlagg")
conn.open basen
sql = "select * from gb where inlagg = '"&inlagg&"'"
set rs = conn.execute(sql)
if rs.eof then
'set rs = nothing
sql = "insert into gb (namn,email,hemsida,ip,inlagg)"
sql = sql & "values ('"&namn&"','"&email&"','"&hemsida&"','"&ip&"','"&inlagg&"')"
conn.execute(sql)
else
Response.write "Försök till dubbelpost!"
end if
conn.close
end if
conn.open basen
sql = "select * from gb order by ID DESC"
set rs = conn.execute(sql)
namn = rs("namn")
server.htmlencode("namn")
email = rs("email")
server.htmlencode("email")
hemsida = rs("hemsida")
server.htmlencode("hemsida")
inlagg = rs("inlagg")
server.htmlencode("inlagg")
do until rs.eof
with response
.write "<table class=inlagg><tr><td>"
.write namn
.write " | "
.write "<a href=mailto:"
.write email
.write "><img src=mail.gif border=0></a>"
.write " | "
.write hemsida
.write " | "
.write rs("ip")
.write "</td></tr><tr><td>"
.write inlagg
.write "</td></tr>"
end with
if rs("svar") = "" then
response.write "<tr><td><i>Marcus har inte svarat på det här inlägget än.</i>"
response.write "</td></tr></table><br />"
else
response.write "<tr><td>"
response.write rs("svar")
response.write "</td></tr></table><br />"
end if
rs.movenext
loop
rs.close
set rs = nothing
%>
</body>
</html>
```

Tabellen heter gb och fälten heter ID, namn, email, hemsida, ip, inlagg och svar. Nån aning?

Tack på förhand!

Permalänk: https://www.webforum.nu/p/121713

## #2 — @nders, 2005-02-04T11:40Z

Mellanslag är viktiga ibland.

```
sql = "insert into gb (namn,email,hemsida,ip,inlagg)"
sql = sql & "values ('"&namn&"','"&email&"','"& hemsida&"','"&ip&"','"&inlagg&"')"
```

Jag skulle dock föreslå att du lägger in lite fler mellanslag vid dina konkateneringar för att få koden mer lättläst, men det är bara min humla. Mellanslag före h dock, det är viktigt.
Slutligen: försök se till att inte posta så mycket oväsentlig kod.

Permalänk: https://www.webforum.nu/p/1547136

## #3 — logic, 2005-02-04T11:46Z

Tack! Det  fungerade kanon. Ber om ursäkt för överflödig kod, men jag var orolig för att det var fel på någon annan plats ;)

Nån aning om hur jag skulle kunna ändra utskriften så "svar"-funktionen fungerar?

Tack!

Permalänk: https://www.webforum.nu/p/1547140

## #4 — @nders, 2005-02-04T11:50Z

Vad är problemet? Hur hade du tänkt att den skulle fungera?

Jag skulle också vilja att du indenterade din kod, så den går att läsa lite bättre.

Mvh

Permalänk: https://www.webforum.nu/p/1547141

## #5 — @nders, 2005-02-04T11:52Z

Dessutom, det här kodblocket är felaktigt:

```
namn = rs("namn")
server.htmlencode("namn")
email = rs("email")
server.htmlencode("email")
hemsida = rs("hemsida")
server.htmlencode("hemsida")
inlagg = rs("inlagg")
server.htmlencode("inlagg")
```

Så kan man inte skriva. Så här borde det se ut:

```
namn = server.htmlencode(rs("namn"))
email = server.htmlencode(rs("email"))
hemsida = server.htmlencode(rs("hemsida"))
inlagg = server.htmlencode(rs("inlagg"))
```

Permalänk: https://www.webforum.nu/p/1547142

## #6 — logic, 2005-02-04T11:56Z

@nders, det ska finnas en liten text under inlägget där:

Om svar finns, ska det stå.

Annars ska det stå "Marcus har inte svarat på det här inlägget än.".

Url till sidan: <http://skoljobb.kalmar.se/kagg/projekt/ms079/gb/gb.asp>

Permalänk: https://www.webforum.nu/p/1547145

## #7 — @nders, 2005-02-04T12:21Z

Nu tror jag att jag hajar. Problemet består nog i att fältet *svar* inte är "tomt", utan innehåller NULL. Prova: 

```
if "" & rs("svar") = "" then
```

Permalänk: https://www.webforum.nu/p/1547160

## #8 — logic, 2005-02-04T18:04Z

Tack!

Permalänk: https://www.webforum.nu/p/1547335

## #9 — SprayMaphia, 2005-02-05T00:23Z

isnull(rs("svar"))

???

Permalänk: https://www.webforum.nu/p/1547505

---

Tråden på webben: https://www.webforum.nu/amne/asp/121713-problem-med-gästbok
