WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Paging (https://www.wn.se/forum/showthread.php?t=19955)

supermrdaniel 2007-03-13 20:33

Hej, jag håller på hjälpa en kompis med ett pagingsystem till en gästbok, men jag får denna felkod när jag går in på sidan:

Microsoft VBScript compilation error '800a0400'

Expected statement

/gastbok.asp, line 204

Wend
^


**Koden för gästboken och pagingen:**
<% If Request.QueryString("get") = "" Then %>




<%
'DATABASEN TILL GÄSTBOKEN
'--------------------------------------------------------------------------------------------------------
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("db/gb.mdb")&";"

Set sebnet = Server.CreateObject("ADODB.Recordset")
SQL = "Select * FROM gb ORDER BY datum DESC"
sebnet.Open SQL, Connect, 1, 2

Dim sida
sida = Trim(Request.QueryString("sida"))
If sida = "" Then
sida = 1
End If

sebnet.PageSize = 10
sebnet.AbsolutePage = sida
'--------------------------------------------------------------------------------------------------------
%>
<%

Dim rad
rad = 0
While Not sebnet.EOF and rad < sebnet.PageSize
rad = rad + 1

%>

Här skrivs allting ur databasen ut.

<% If sebnet.BOF Then %>
Gästboken är tom!
<% else %>
<% Do until sebnet.EOF %>
<% If sebnet("accepterad") = "nej" Then %>
<TABLE width="100%" cellspacing="0" cellpadding="5" border="0"><TR><td width="55%" valign="top"><%=kantfarg%>
<tr>
<td scope="col"></td></tr>
<tr>
<td scope="col">Namn: <%=sebnet("namn")%><%=sebnet("enamn")%>

E-postadress:<%=sebnet("email")%>

Sänt:<%=sebnet("datum")%>



<%=sebtext(sebnet("inlagg"))%></td>

</p>
</center></td>
</tr></table>
<table width="100%"><tr><hr size="1">



<% else %>

<TABLE width="500" cellspacing="0" cellpadding="5" border="0"><TR><td width="55%" valign="top">

Namn: <%=sebnet("namn")%><%=sebnet("enamn")%>

E-postadress:
<%=sebnet("email")%>

Sänt:<%=sebnet("datum")%>


<%=sebtext(sebnet("inlagg"))%></td>


</td><td width="10"></td><td valign="top" width="45%" BGCOLOR="#f4f0e0">
<% If sebnet("svar") = "nej" Then %>
<% else %>

<%=sebtext(sebnet("svar"))%>
<% end if %>
</td>
</tr></table>
<table width="100%"><tr><hr size="1"></tr></table>
<% end if %>
<%
sebnet.MoveNext
loop
sebnet.Close
Connect.Close
End if

%>
<%
If Request.QueryString("get") = "admin" Then
If Session("admin") = "ok" Then
Response.Redirect("admin.asp")
else
End if
%>

Admin Login



<form name="admin" method="post" action="gastbok.asp?get=check">
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td scope="col"><div align="right">Anvnamn:</div></td>
<td scope="col"><input name="anvnamn" type="text" size="20">
</td>
</tr>
<tr>
<td><div align="right">L&ouml;senord:</div></td>
<td><input name="password" type="password" size="20">
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="loggain" value="Logga in"></td>
</tr>
</table>
</form>


<%
sebnet.MoveNext
Wend
%>

<%

If sebnet.PageCount > 1 Then
For i = 1 to sebnet.PageCount
If i = CLng(sida) Then
Response.Write "[" & i & "]"
Else
Response.Write "" & i & ""
End If
Next
End If

%>

<%

sebnet.Close : Set sebnet = Nothing
Connect.Close : Set Connect = Nothing

%>
<%
'MEDDELANDE OM UPPGIFTERNA ÄR FEL
If Session("meddelande") <> "" Then
Response.Write Session("meddelande")
Session("meddelande") = ""
End If
%>
<% end if %>
<%
'Kollar så anvnamn och lösenord stämmer!
If Request.QueryString("get") = "check" Then
If Request.Form("anvnamn") = admin1 AND Request.Form("password") = admin2 Then
Session("admin") = "ok"
Session.Timeout = 30
Response.Redirect("admin.asp")
else
'Om inte, skicka tillbaks användaren
Session("meddelande") = "Fel användarnamn eller lösenord, försök igen!"
Response.Redirect("index.asp?get=admin")
End if
End if
%>

Tacksam för all hjälp vi kan få!

MattiasA 2007-03-13 23:12

vilken är "line 204" då??

off: det är inte så konstigt att det inte fungerar det är ju asp! PHP for the win! :P

supermrdaniel 2007-03-14 00:35

Citat:

Originally posted by MattiasA@Mar 14 2007, 00:12
vilken är line 204 då??
off: det är inte så konstigt att det inte fungerar det är ju asp PHP for the win *


Hehe :)

På line 204 ligger denna kod:
<%
sebnet.MoveNext
Wend
%>

hnn 2007-03-14 11:14

Ska inte Wend vara End If istället?

supermrdaniel 2007-03-14 12:39

Testade med End If och får denna felkod då:
Microsoft VBScript compilation error '800a0400'

Expected statement

/gastbok.asp, line 234

end if
^

jonny 2007-03-14 12:45

Se till att indentera koden så att man ser vad som börjar och slutar var.

wend avslutar en while

Din kod ser ok ut fram till

Kod:

  sebnet.MoveNext
  Wend

Det ser ut som du tror att du har kommit till slutet av en while-loop, men det finns ingen början på den loop du försöker avsluta. Ser mer ut som att du tänkt dig avsluta en if-sats där.

allstars 2007-03-14 19:23

precis som ovanstående säger.
ersätt
sebnet.MoveNext
Wend

med
End If


För att: varför skall du loopa inloggningsrutan?

supermrdaniel 2007-03-14 22:08

Får detta felmeddelande när jag kör med End If istället på den raden:
Microsoft VBScript compilation error '800a0400'

Expected statement

/gastbok.asp, line 233

end if
^

eg0master 2007-03-14 23:02

Om du ersätter:
Kod:

sebnet.MoveNext
Wend

med:
Kod:

sebnet.MoveNext
end if
Wend

Så slipper du nog kompileringsfel. Sedan om den där skiten gör rätt är väl ditt nästa problem. You're on your own.

supermrdaniel 2007-03-15 01:01

Funkade inte heller :/ ,får denna felkod:

Microsoft VBScript compilation error '800a0400'

Expected statement

/gastbok.asp, line 235

End If
^

Ingen som kanske kan hjälpa till med ett helt nytt paging script? Det jag använder nu läste jag i en artikel på aspsidan.

melin 2007-03-15 09:07

skulle du kunna lägga upp din kod på nån sida t.ex www.nomorepasting.com istället, så man kan se lite lättare hur det är upplagt?

supermrdaniel 2007-03-15 16:24

Citat:

Originally posted by melin@Mar 15 2007, 10:07
skulle du kunna lägga upp din kod på nån sida t.ex www.nomorepasting.com istället, så man kan se lite lättare hur det är upplagt?
koden finns nu på:
http://www.nomorepasting.com/paste.php?pasteID=75695

funcall 2007-03-15 17:20

Testa:

**Koden för gästboken och pagingen:**
<% If Request.QueryString("get") = "" Then %>



<%
'DATABASEN TILL GÄSTBOKEN
'--------------------------------------------------------------------------------------------------------
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("db/gb.mdb")&";"

Set sebnet = Server.CreateObject("ADODB.Recordset")
SQL = "Select * FROM gb ORDER BY datum DESC"
sebnet.Open SQL, Connect, 1, 2

Dim sida
sida = Trim(Request.QueryString("sida"))
If sida = "" Then
sida = 1
End If

sebnet.PageSize = 10
sebnet.AbsolutePage = sida
'--------------------------------------------------------------------------------------------------------
%>
<%

Dim rad
rad = 0
While Not sebnet.EOF and rad < sebnet.PageSize
rad = rad + 1

%>

Här skrivs allting ur databasen ut.

<% If sebnet.BOF Then %>
Gästboken är tom!
<% else %>
<% Do until sebnet.EOF %>
<% If sebnet("accepterad") = "nej" Then %>
<TABLE width="100%" cellspacing="0" cellpadding="5" border="0" ID="Table1"><TR><td width="55%" valign="top"><%=kantfarg%>
<tr>
<td scope="col"></td></tr>
<tr>
<td scope="col">Namn: <%=sebnet("namn")%><%=sebnet("enamn")%>

E-postadress:<%=sebnet("email")%>

Sänt:<%=sebnet("datum")%>



<%=sebtext(sebnet("inlagg"))%></td>

</p>
</center></td>
</tr></table>
<table width="100%" ID="Table2"><tr><hr size="1">
<% else %>
<TABLE width="500" cellspacing="0" cellpadding="5" border="0" ID="Table3"><TR><td width="55%" valign="top">

Namn: <%=sebnet("namn")%><%=sebnet("enamn")%>

E-postadress:
<%=sebnet("email")%>

Sänt:<%=sebnet("datum")%>


<%=sebtext(sebnet("inlagg"))%></td>


</td><td width="10"></td><td valign="top" width="45%" BGCOLOR="#f4f0e0">
<% If sebnet("svar") = "nej" Then %>
<% else %>
<%=sebtext(sebnet("svar"))%>
<% end if %>
</td>
</tr></table>
<table width="100%" ID="Table4"><tr><hr size="1"></tr></table>
<% end if %>
<%sebnet.MoveNext
loop
sebnet.Close
Connect.Close
End if
end if
%>
<%
If Request.QueryString("get") = "admin" Then
If Session("admin") = "ok" Then
Response.Redirect("admin.asp")
else
End if
%>

Admin Login



<form name="admin" method="post" action="gastbok.asp?get=check" ID="Form1">
<table border="0" cellspacing="0" cellpadding="2" ID="Table5">
<tr>
<td scope="col"><div align="right">Anvnamn:</div></td>
<td scope="col"><input name="anvnamn" type="text" size="20" ID="Text1">
</td>
</tr>
<tr>
<td><div align="right">L&ouml;senord:</div></td>
<td><input name="password" type="password" size="20" ID="Password1">
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="loggain" value="Logga in" ID="Submit1"></td>
</tr>
</table>
</form>


<%

If sebnet.PageCount > 1 Then
For i = 1 to sebnet.PageCount
If i = CLng(sida) Then
Response.Write "[" & i & "]"
Else
Response.Write "" & i & ""
End If
Next
End If

%>

<%

sebnet.Close : Set sebnet = Nothing
Connect.Close : Set Connect = Nothing

%>
<%
'MEDDELANDE OM UPPGIFTERNA ÄR FEL
If Session("meddelande") <> "" Then
Response.Write Session("meddelande")
Session("meddelande") = ""
End If
%>
<% end if %>
<%
'Kollar så anvnamn och lösenord stämmer!
If Request.QueryString("get") = "check" Then
If Request.Form("anvnamn") = admin1 AND Request.Form("password") = admin2 Then
Session("admin") = "ok"
Session.Timeout = 30
Response.Redirect("admin.asp")
else
'Om inte, skicka tillbaks användaren
Session("meddelande") = "Fel användarnamn eller lösenord, försök igen!"
Response.Redirect("index.asp?get=admin")
End if
End if
%>

supermrdaniel 2007-03-15 23:51

Denna felkod kommer när jag tog din kod, funcall:
Microsoft VBScript compilation error '800a0400'

Expected statement

/gastbok.asp, line 163

End If
^

nameseek 2007-03-16 08:08

Någonstans i scriptet saknas förmodligen en End If.
Antingen får du gå igenom din IF-satser och hitta var det ska vara en End If, alternativt får du återkomma med sidan i sin helhet.
Koden ovan (som funcall hjälpte dig med) har nämligen 149 rader och du får felmeddelande på rad 163.

funcall 2007-03-16 09:19

oj glömde ta bort en grej...
testa denna:

**Koden för gästboken och pagingen:**<%
If Request.QueryString("get") = "" Then
%>
<%
'DATABASEN TILL GÄSTBOKEN
'--------------------------------------------------------------------------------------------------------
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("db/gb.mdb")&";"

Set sebnet = Server.CreateObject("ADODB.Recordset")
SQL = "Select * FROM gb ORDER BY datum DESC"
sebnet.Open SQL, Connect, 1, 2

Dim sida
sida = Trim(Request.QueryString("sida"))
If sida = "" Then
sida = 1
End If

sebnet.PageSize = 10
sebnet.AbsolutePage = sida
'--------------------------------------------------------------------------------------------------------

Dim rad
rad = 0
rad = rad + 1

%>Här skrivs allting ur databasen ut.<%

If sebnet.BOF Then
%>Gästboken är tom!<%
else
Do until sebnet.EOF
If sebnet("accepterad") = "nej" Then
%>
<TABLE width="100%" cellspacing="0" cellpadding="5" border="0" ID="Table1"><TR><td width="55%" valign="top"><%=kantfarg%>
<tr>
<td scope="col"></td></tr>
<tr>
<td scope="col">Namn: <%=sebnet("namn")%><%=sebnet("enamn")%>

E-postadress:<%=sebnet("email")%>

Sänt:<%=sebnet("datum")%>



<%=sebtext(sebnet("inlagg"))%></td>

</p>
</center></td>
</tr></table>
<table width="100%" ID="Table2"><tr><hr size="1">
<%
else
%>
<TABLE width="500" cellspacing="0" cellpadding="5" border="0" ID="Table3"><TR><td width="55%" valign="top">

Namn: <%=sebnet("namn")%><%=sebnet("enamn")%>

E-postadress:
<%=sebnet("email")%>

Sänt:<%=sebnet("datum")%>


<%=sebtext(sebnet("inlagg"))%></td>


</td><td width="10"></td><td valign="top" width="45%" BGCOLOR="#f4f0e0">
<%
If sebnet("svar") <> "nej" Then
%><%=sebtext(sebnet("svar"))%><%
end if
%>
</td>
</tr></table>
<table width="100%" ID="Table4"><tr><hr size="1"></tr></table>
<%
end if
sebnet.MoveNext
loop
sebnet.Close
Connect.Close
End if
end if

If Request.QueryString("get") = "admin" Then
If Session("admin") = "ok" Then
Response.Redirect("admin.asp")
End if
%>

Admin Login



<form name="admin" method="post" action="gastbok.asp?get=check" ID="Form1">
<table border="0" cellspacing="0" cellpadding="2" ID="Table5">
<tr>
<td scope="col"><div align="right">Anvnamn:</div></td>
<td scope="col"><input name="anvnamn" type="text" size="20" ID="Text1">
</td>
</tr>
<tr>
<td><div align="right">L&ouml;senord:</div></td>
<td><input name="password" type="password" size="20" ID="Password1">
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="loggain" value="Logga in" ID="Submit1"></td>
</tr>
</table>
</form>

<%

If sebnet.PageCount > 1 Then
For i = 1 to sebnet.PageCount
If i = CLng(sida) Then
Response.Write "[" & i & "]"
Else
Response.Write "" & i & ""
End If
Next
End If

sebnet.Close : Set sebnet = Nothing
Connect.Close : Set Connect = Nothing

'MEDDELANDE OM UPPGIFTERNA ÄR FEL
If Session("meddelande") <> "" Then
Response.Write Session("meddelande")
Session("meddelande") = ""
End If
end if

'Kollar så anvnamn och lösenord stämmer!
If Request.QueryString("get") = "check" Then
If Request.Form("anvnamn") = admin1 AND Request.Form("password") = admin2 Then
Session("admin") = "ok"
Session.Timeout = 30
Response.Redirect("admin.asp")
else
'Om inte, skicka tillbaks användaren
Session("meddelande") = "Fel användarnamn eller lösenord, försök igen!"
Response.Redirect("index.asp?get=admin")
End if
End if
%>

supermrdaniel 2007-03-16 16:50

Tack så mkt, funcall!

Men nu har jag såklart ett annat problem och det är att den inte delar upp inläggen i olika sidor utan alla inlägg ligger bara på en sida.

eg0master 2007-03-16 17:15

Citat:

Originally posted by eg0master@Mar 15 2007, 00:02
Sedan om den där skiten gör rätt är väl ditt nästa problem. You're on your own.
Som jag skrev tidigare...

Allvarligt talat så hör väl inte "debugginng by forum" hemma här tycker jag. Det måste finnas en plats på planeten där den här typen av "hjälp" kan fås, men den platsen är inte här tycker jag. Nivån är ju inte ens nybörjarnivå, det är innan nybörjare. Typ "jag ska börja lära mig koda om ett år - varför funkar inte den här koden".

Gör en god samhälsgärning moderatorer och lås den här tråden innan jag får en hjärnblödning... Det är verkligen med skräckblandad förtjusning jag följt hur denna tråd "utvecklats"...

supermrdaniel 2007-03-17 12:13

Citat:

Ursprungligen postat av eg0master
Citat:

Ursprungligen postat av eg0master
Sedan om den där skiten gör rätt är väl ditt nästa problem. You're on your own.

Som jag skrev tidigare...

Allvarligt talat så hör väl inte "debugginng by forum" hemma här tycker jag. Det måste finnas en plats på planeten där den här typen av "hjälp" kan fås, men den platsen är inte här tycker jag. Nivån är ju inte ens nybörjarnivå, det är innan nybörjare. Typ "jag ska börja lära mig koda om ett år - varför funkar inte den här koden".

Gör en god samhälsgärning moderatorer och lås den här tråden innan jag får en hjärnblödning... Det är verkligen med skräckblandad förtjusning jag följt hur denna tråd "utvecklats"...

Jag håller på att lära mig koda och jag har fått problem med kodningen under tiden, så det är inte så att jag inte håller på lära mig att koda eller ska göra det om ett år utan jag håller på göra det nu.

jonny 2007-03-17 12:52

Tips1: Lär dig att indentera koden, så att den går att läsa.
Tips2: Använd "kod"-funktionen för att lägga till din kod.
Tips3: Debugga lite åt gången och skriv inte kod i flera timmar utan att testköra.

eg0master 2007-03-17 17:49

Tips 4: Ställ dina (nybörjar)frågor i forum avsedda för nybörjare. Experts exchange, pellesoft, godeguru, codeproject

Det kanske inte är den officiella linjen att WN inte är till för nybörjare, men de flesta ställer faktiskt ganska vettiga frågor. Att lista kod (oindenterad) och inte för fem öre själv försökt hitta felet, följt av svaret "det funkar inte" när någon föreslår en ändring signalerar för mig att du inte ens försöker fixa det själv. Om detta beror på lathet eller helt enkelt okunskap låter jag vara osagt, men jag tror du har större framgång med ditt sätt att hantera problemet någon annan stans.

Kiper 2007-03-17 18:06

Eg0master, du är verkligen min förebild när det gäller inkännande och förstående svar. ;)


Alla tider är GMT +2. Klockan är nu 21:57.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson