Hej,
modifieringar på admin-sida har medfört massor med felmeddelanden... Har egnat hela morgonen åt att göra som man bör, dvs leta reda på svaren själv. Men på denna senaste går jag bet på!!
Fel-meddelandet ser ut som följer:
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'EOF'
/plelkes/redigera.asp, line 28
Sidans kod:
<%
If Not Session ("Inloggad") = "Ja" then
Response.Write "Du är inte auktoriserad"
Else
%>
<html>
<head>
<title>Redigera</title>
</head>
<%
Session.LCID = 1053
dim minCon 'Connection
dim rsGbok 'recordsetten för nya inlägg
dim strSQL, strSQL1, rs1
Set minCon = Server.CreateObject("ADODB.Connection")
set rsGbok = Server.CreateObject("ADODB.Recordset")
minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\plelkes\db\guests.mdb")
strSQL =" SELECT * FROM guestbook ORDER by ID DESC"
strSQL1 ="SELECT * FROM admin WHERE password = '" & Request.Form("pword")&"'"
rs1 = minCon.Execute(strSQL1)
Do while not rs1.EOF
Response.Write "<p align=center><font size=7><b><i><font color=#FFCC33 SIZE=""+3"">"
Response.Write "Nu kan du " & rs1("Fnamn")
Response.Write "redigera gästboken!"
rs1.MoveNext
Loop
Response.Write "</U></font></i></b></font></p><BR><BR><BR>"
Response.Write "<FORM ACTION=""radera.asp"" METHOD=""post""></FORM>"
Response.Write "<TABLE WIDTH=""800"" BORDER=""1"" ALIGN=""CENTER"" CELLPADDING=""5"" CELLSPACING=""5"">"
Do While Not rsGbok.EOF
Response.Write "<TR> <TD WIDTH=""149""><H3><B><U>"
Response.Write rsGbok("Namn")
Response.Write "</U></B></H3></TD>"
Response.Write "<TD WIDTH=""556"">"
Response.Write rsGbok("Message")
Response.Write "</TD><TD WIDTH=""37"">"
Response.Write "<INPUT NAME=""delete"" TYPE=""checkbox"" VALUE="""& rsGbok("ID") &""">"
Response.Write "</TD></TR>"
Response.Write "<TR ALIGN=""RIGHT"" VALIGN=""MIDDLE"">"
Response.Write "<TD COLSPAN"="3"">"
Response.Write "<INPUT TYPE=""submit"" VALUE=""Radera markerade"">"
Response.Write "</TD></TR>"
rsGbok.MoveNext
Loop
Response.Write "</TABLE></FORM>"
rsGbok.Close
Set rsGbok = Nothing
Set minCon = Nothing
End If %>
</body>
</html>
För att förtydliga mig:
det jag vill åstadkomma är:
kolla om rätt person är inloggad
om ja, i såfall skriv hälsningsfras med det förnamn som korellerar till passw
skriv ut tabellen
har jag löst med forumets hjälp:
<%
If Not Session ("Inloggad") = "Ja" then
Response.Write "Du är inte auktoriserad"
Else
%>
punkt 2 har jag tänkt lösa med följande
strSQL1 ="SELECT * FROM admin WHERE password = '" & Request.Form("pword")&"'"
Set rs1 = minCon.Execute(strSQL1)
Do while not rs1.EOF
Response.Write "<p align=center><font size=7><b><i><font color=#FFCC33 SIZE=""+3"">"
Response.Write "Nu kan du " & rs1("Fnamn")
Response.Write "redigera gästboken!"
rs1.MoveNext
Loop
Punkt 3 fungerad förrut
<%
Session.LCID = 1053
dim minCon 'Connection
dim rsGbok 'recordsetten för nya inlägg
dim strSQL
Set minCon = Server.CreateObject("ADODB.Connection")
set rsGbok = Server.CreateObject("ADODB.Recordset")
minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\plelkes\db\guests.mdb")
strSQL =" SELECT * FROM guestbook ORDER by ID DESC"
rsGbok.Open strSQL, minCon, 3, 3
Response.Write "<p align=center><font size=7><b><i><font color=#FFCC33 SIZE=""+3"">"
Response.Write "Nu kan du" & rs.guests.admin("Fnamn")
Response.Write "redigera gästboken!"
Response.Write "</U></font></i></b></font></p><BR><BR><BR>"
Response.Write "<FORM ACTION=""radera.asp"" METHOD=""post""></FORM>"
Response.Write "<TABLE WIDTH=""800"" BORDER=""1"" ALIGN=""CENTER"" CELLPADDING=""5"" CELLSPACING=""5"">"
Do While Not rsGbok.EOF
Response.Write "<TR> <TD WIDTH=""149""><H3><B><U>"
Response.Write rsGbok("Namn")
Response.Write "</U></B></H3></TD>"
Response.Write "<TD WIDTH=""556"">"
Response.Write rsGbok("Message")
Response.Write "</TD><TD WIDTH=""37"">"
Response.Write "<INPUT NAME=""delete"" TYPE=""checkbox"" VALUE="""& rsGbok("ID") &""">"
Response.Write "</TD></TR>"
Response.Write "<TR ALIGN=""RIGHT"" VALIGN=""MIDDLE"">"
Response.Write "<TD COLSPAN"="3"">"
Response.Write "<INPUT TYPE=""submit"" VALUE=""Radera markerade"">"
Response.Write "</TD></TR>"
rsGbok.MoveNext
Loop
Response.Write "</TABLE></FORM>"
rsGbok.Close
Set rsGbok = Nothing
Set minCon = Nothing
End If %>
</body>
</html>
Om nu delarna fungerar, så varför kan jag ej sy ihop det hela?
Om kollen för inloggningen inte fungerar, så beror väl det antagligen på att din inloggningsfunktion inte gör det den ska. Du kan ju alltid testa att pilla i global.asa och skippa inloggningsförfarandet, för att se om du gör rätt...
Sub Session_OnStart
Session("inloggad") = "" [blue]'Nu ska inget visas på gästbokssidan...
.
.
.[/blue]
End Sub
Välkomsthälsningen? Ska det vara den Nu kan du xxxxx redigera? Isånnafall kan du ju ändra lite på den kodbiten...
strSQL1 ="SELECT * FROM admin WHERE password = '" & [blue]'Stoppa in något du vet finns här[/blue] & "'"
Set rs1 = minCon.Execute(strSQL1)
If rs1.EOF Then
Response.Write "<p>Ingen data hittades.</p>"
Else
Response.Write rs1.RecordCount & " st poster hittades."
While Not rs1.EOF
Response.Write "<p align=center><font size=7><b><i><font color=#FFCC33 SIZE=""+3"">"
Response.Write "Nu kan du " & rs1("Fnamn")
Response.Write "redigera gästboken!"
rs1.MoveNext
Wend
End If
Det är den andra kontrollen som ska bort, annars kommer det med onödig html på sidan. Det är den andra If Session("inloggad") = "Ja" Then, som orsakar felet. Rad 74 har egentligen ingenting med det att göra.