![]() |
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ö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å! |
vilken är "line 204" då??
off: det är inte så konstigt att det inte fungerar det är ju asp! PHP for the win! :P |
Citat:
På line 204 ligger denna kod: <% sebnet.MoveNext Wend %> |
Ska inte Wend vara End If istället?
|
Testade med End If och får denna felkod då:
Microsoft VBScript compilation error '800a0400' Expected statement /gastbok.asp, line 234 end if ^ |
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 |
precis som ovanstående säger.
ersätt sebnet.MoveNext Wend med End If För att: varför skall du loopa inloggningsrutan? |
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 ^ |
Om du ersätter:
Kod:
sebnet.MoveNext Kod:
sebnet.MoveNext |
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. |
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?
|
Citat:
http://www.nomorepasting.com/paste.php?pasteID=75695 |
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ö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 %> |
Denna felkod kommer när jag tog din kod, funcall:
Microsoft VBScript compilation error '800a0400' Expected statement /gastbok.asp, line 163 End If ^ |
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. |
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ö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 %> |
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. |
Citat:
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"... |
Citat:
|
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. |
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. |
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