webForumDet fria alternativet

Gästbok problem.

14 svar · 509 visningar · startad av cgi

cgiMedlem sedan jan. 2000371 inlägg
#1

Har problem med en gästbok, när jag har skrivit i alla forumulär och skickar iväg meddelande så står det:
Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'nanne'

/cgi-bin/gbproc.asp, line 29
men meddelandet lagras ändå, vad kan det vara för fel.
OBS. för att meddelandet ska lagras så måste du uppdatera fönstret.
Gästboken hitter du på addresen.
http://reptiler.webhostme.com/cgi-bin/gbok.asp

VideMedlem sedan dec. 19998 577 inlägg
#2

Hej!

... har du satt Option Explicit längst upp på sidan? ser ut som det... felmeddelandet tyder på att du inte "Dimmat" variabeln "nanne"...

------------------
MVH / Vide
Min hemsida:henslow.4sale.se/vide/

cgiMedlem sedan jan. 2000371 inlägg
#3

Ja det har jag gjort.

Så här ser koden ut:

<%@ Language=VBScript %>
<%
Option Explicit

'Deklarerar databas variabler
Dim Connect, conntemp, DSNtemp

'Deklarerar övriga variabler
Dim inlagg

' Här skapar vi en dsn-less connection mot gbok
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("gbok.mdb")
Connect.Open DSNtemp
%>
<html>
<head>
<title>Gästbok</title>
</head>
<body>
<body bgcolor="#000000" text="#ffffff">
<form method="post" action="gbproc.asp">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><font size=1>
Namn:<br> <input type="text" size="15" name="namn"><br><br>
</td>
<td valign="top"><font size=1>
E-post:<br><input type=text size=15 maxlength="100" name="epost">
</td>
</tr>
<tr>
<td valign="top"><font size=1>
Ort:<br><input type=text size=15 maxlength="60" name="ort">
</td>
<td valign="top"><font size=1>
Gillar:<br><input type=text size=15 maxlength="60" name="gillar">
</td>
</tr>
<tr>
<td colspan=2 valign="top"><font size=1>
Meddelande:<br><TEXTAREA NAME="Meddelande" COLS=30 ROWS=8></textarea>
</td>
</tr>
<tr>
<td colspan=2>
<input type="submit" name="Submit" value="Skicka">
<input type="reset" value="Rensa">
</td>
</tr>
</table>
<!--Här börjar inläggen -->
<h5>Vad har besökarna skrivit.</h5>
<center><hr width="300"></center><br>
<table border="0" cellspacing="0" cellpadding="0">
<%
'Ta ut alla inlägg och sortera dom efter datum
inlagg= "SELECT Namn,Datum,Epost,Ort,Gillar,Meddelande FROM gbok WHERE id=id ORDER BY datum DESC"
Set inlagg= Connect.Execute(inlagg)

'Skriv ut alla inlägg
Do until inlagg.EOF
%>
<tr>
<td><font size=1>Namn:</td><td><font size=1><%=inlagg("Namn")%></font></td>
</tr><tr>
<td><font size=1>Datum:</td><td><font size=1><%=inlagg("Datum")%></font></td>
</tr><tr>
<td><font size=1>Epost:</td><td><font size=1><a href="mailto:<%=inlagg("Epost")%>"><%=inlagg("epost")%></a></font></td>
</tr><tr>
<td><font size=1>Ort:</td><td><font size=1><%=inlagg("Ort")%></font></td>
</tr><tr>
<td><font size=1>Gillar:</td><td><font size=1><%=inlagg("Gillar")%></font></td>
</tr><tr>
<td><font size=1>Meddelande:</td><td><font size=1><%=inlagg("Meddelande")%></font></td>
</tr><tr>
<td colspan="2"><center><hr width="300"></center></td>
</tr>
<%
inlagg.MoveNext
Loop
%>
</table>

</body>
</html>

<%
'Vid stänger databasen
Connect.close
set Connect=nothing
%>

VideMedlem sedan dec. 19998 577 inlägg
#4

hmm... ser inget fel på koden... testa att ta bort option explicit. Den är ju inte så nödvändig efter man är färdig med kodandet... om inte det funkar så testa att lägga in On Error resume Next

Testa att lägga in en Querystring i action:
<form method="post" action="gbproc.asp?klar=true">

...sen så kollar du om man har skickat sida, isånnafall så redirectas man tillbaks:
<%
If Request.Querystring("klar") = "true" then
Response.Redirect "gbproc.asp"
End if
%>

...detta borde fixa det att du måste uppdatera för att ändringen skall synas...

------------------
MVH / Vide
Min hemsida:henslow.4sale.se/vide/

cgiMedlem sedan jan. 2000371 inlägg
#5

Nej du det vill sej fortfarande inte.

VideMedlem sedan dec. 19998 577 inlägg
#6

hmmm... mystiskt... ok testa att Dimma nanne då:
Dim nanne

... annars är jag helt borta... :r

------------------
MVH / Vide
Min hemsida:webeye.nu

cgiMedlem sedan jan. 2000371 inlägg
#7

Hur gör jag det.

VideMedlem sedan dec. 19998 577 inlägg
#8

... du ser på rad 6 eller nått så står det Dim Connect, conntemp, DSNtemp, lägg till ,nanne efter DSNtemp...

------------------
MVH / Vide
Min hemsida:webeye.nu

cgiMedlem sedan jan. 2000371 inlägg
#9

Funkar fortfarande inte.

[Redigerat av cgi den 15 feb 2000]

ToonsterMedlem sedan feb. 20001 590 inlägg
#10

Koden du visade här ovan är väl inte sidan som genererar felet?
eller är jag helt ute och cyklar...
Du skickar formuläret till gbproc.asp, visa koden för den sidan så får vi se.

------------------
Toonster

nanneMedlem sedan dec. 19991 749 inlägg
#11

Sätt Dim nanne i gbproc.asp Jag råkade visst städa bort den när jag rensade scriptet från mina grejer. I min gästbok så skickar den att mail till mig varje gång nån skriver nåt nämligen så. Nåja.

------------------
Daniel Olsson - Teknisk Internetkonsult

Personlig sida

KjAM Sekten Community

/N

cgiMedlem sedan jan. 2000371 inlägg
#12

La upp den i en ny mapp, och dimmade nanne men då står det bara:
Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'nanne'

/cgi-bin/aspbok/gbok.asp, line 15

sidan finns på addressen: http://reptiler.webhostme.com/cgi-bin/aspbok/gbok.asp

Så här ser gbproc koden ut:

<%@ Language=VBScript %>
<%
'Variabler måste deklareras
Option Explicit

'Deklarerar databas variabler
Dim Connect, conntemp, DSNtemp

'Deklarerar övriga variabler
Dim namn,ort,gillar,epost,Meddelande,sql

' Här skapar vi en dsn-less connection mot gbok
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("gbok.mdb")
Connect.Open DSNtemp,nanne

'Plockar informationen från formen med Request.Form objektet.
'Server.HTMLEncode tar och fixar så användaren inte kan använda HTML i gästboken
namn=Server.HTMLEncode(Request.Form("namn"))
ort=Server.HTMLEncode(Request.Form("ort"))
gillar=Server.HTMLEncode(Request.Form("gillar"))
epost=Server.HTMLEncode(Request.Form("epost"))
Meddelande=Server.HTMLEncode(Request.Form("Meddelande"))

'Matar in informationen i databasen
sql = "INSERT INTO gbok (Namn,Ort,Gillar,Epost,IP,Datum,Meddelande)"
sql = sql & "VALUES ('"&namn&"','"&ort&"','"&gillar&"','"&epost&"','"&Request.ServerVariables("REMOTE_HOST")&"','"&FormatDateTime(Now,0)&"','"&Meddelande&"')"
Set sql = Connect.Execute(sql)

'Skickar användaren tillbaka till gästboken
Response.Redirect "gbok.asp"

'Vid stänger databasen
Connect.close
set Connect=nothing
%>

nanneMedlem sedan dec. 19991 749 inlägg
#13

Fean vad buggar jag skapat då. Fy mig. Men bra att de kommer upp nu så. Jag har ändrat om i koden och testat och sett att den fungerar. Prova med att ladda hem den. http://www.nanne.net/zip/gbok.zip

------------------
Daniel Olsson - Teknisk Internetkonsult

Personlig sida

KjAM Sekten Community

/N

[Redigerat av nanne den 16 feb 2000]

cgiMedlem sedan jan. 2000371 inlägg
#14

Japp nu funkar äntligen gästboken.

VideMedlem sedan dec. 19998 577 inlägg
#15

...jaja... där ser man... och jag som trodde att jag hade tappat bort en bit utav hjärnan för att jag inte kunde lösa problemet...

------------------
MVH / Vide
Min hemsida:webeye.nu

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)