webForumDet fria alternativet

Skulle vilja ha en förklaring till detta och en möjlig lösning.

ASP

14 svar · 298 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

Det är så att när man har loggat in på sidan så blir det så här:
index.asp?action=login

men om jag skulle ta bort
?action=login
och trycker enter så laddas index.asp och detta felmess kommer upp.

ADODB.Field error '80020009' 

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post. 

/index.asp, line 0

Skulle vilja få bort detta. jag postar lite kod som jag använder.

<%
Function SQLText(Value)
    If Len(Value) Then
        SQLText = "'" & Replace(Value, "'", "''") & "'"
    Else
        SQLText = "Null"
    End If
End Function

    Set Con = Server.CreateObject("ADODB.Connection")
    Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client.mdb") 

    strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password")) 

    Set RecSet = Server.CreateObject("ADODB.Recordset")
    RecSet.Open strSQL, Con

    If not recset.eof then
        Session("authentication") = "yes" 
        Session("id") = recset("id")
end if

%>
Medlem sedan nov. 20017 144 inlägg
#2
Function SQLText(Value)
    If Len(Value) Then
        SQLText = "'" & Replace(Value, "'", "''") & "'"
    Else
        SQLText = "Null"
    End If
End Function

    Set Con = Server.CreateObject("ADODB.Connection")
    Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client.mdb") 

    strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password")) 

    Set RecSet = Server.CreateObject("ADODB.Recordset")
    RecSet.Open strSQL, Con
if recset.eof or recset.bof then
response.write "Du är inte riktigt klok..."
end if
    If not recset.eof then
        Session("authentication") = "yes" 
        Session("id") = recset("id")
end if

Kanske...

Medlem sedan mars 20023 686 inlägg
#3

Jesper T : :( tyvärr inte...

Medlem sedan mars 20023 561 inlägg
#4

Får du samma felmeddelande?

Medlem sedan mars 20023 686 inlägg
#5

Josef:

ADODB.Field error '80020009'

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

/index.asp, line 0

Medlem sedan mars 20023 561 inlägg
#6

Prova det här då...

Function SQLText(Value)
    If Len(Value) Then
        SQLText = "'" & Replace(Value, "'", "''") & "'"
    Else
        SQLText = "Null"
    End If
End Function

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("client.mdb") 

strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password")) 

Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open strSQL, Con

If RecSet.EOF Then
     Response.Write("Finns ingen post")
Else
     Session("authentication") = "yes"
     Session("id") = RecSet("id")
End If

RecSet.Close: Set RecSet = Nothing
Con.Close: Set Con = Nothing
Medlem sedan mars 20023 686 inlägg
#7

Josef : Tyvärr så blev det samma resultat igen. Men jag låter det vara. ska klura på en egen lösning.

Medlem sedan mars 20023 686 inlägg
#8

bort

Medlem sedan mars 20023 561 inlägg
#9
<%
Function SQLText(Value)
    If Len(Value) Then
        SQLText = "'" & Replace(Value, "'", "''") & "'"
    Else
        SQLText = "Null"
    End If
End Function

    Set Con = Server.CreateObject("ADODB.Connection")
    Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client.mdb") 

    strSQL = "Select * from tbluppgifter where client = " & SQLText(Request.Form("client")) & " and password = " & SQLText(Request.Form("password")) 

    Set RecSet = Server.CreateObject("ADODB.Recordset")
    RecSet.Open strSQL, Con

    If not recset.eof then
        Session("authentication") = "yes" 
        Session("id") = recset("id")
end if

%>
<html>
<head>
<link rel="stylesheet" href="stil.css" type="text/css">
<%If Session("authentication") = "yes" Then
If Request.Querystring("logga") ="ut" Then
Session.Abandon
End If %>
<font face="verdana" size="1">
<b>Du är inloggad som: <font color="#FF9900"><%=RecSet("client")%></font></b>
<br>
<br>
<br>
<font face="verdana" size="1">
<a href="http://webb.medialabs.nu/visitkort.asp">Ditt Visitkort.</a>&nbsp;<a href="http://webb.medialabs.nu/index.asp?logga=ut">Logga ut</a></font>

<%
Else
RecSet.Close: Set RecSet = nothing
Con.Close: Set Con = nothing
End If 
%>
</head>
<body topmargin="2" leftmargin="2"> 
<% If Session("authentication") <> "yes" Then %>

<table border=0 height="95%" width="100%">
<tbody>
<tr>
<td align=middle vAlign=center>
<table align=center border=0 cellPadding=0 cellSpacing=0 class=inloggningsruta width=200>
<tbody>
<tr>
<td vAlign=top>
<img src="inloggning/vansterupp.gif"></td>
<td align=right vAlign=top>
<img src="inloggning/hogerupp.gif"></td>
</tr>
<tr>
<td colSpan=2>
<div class=consept>Security Concepts.
</div>
</td>
</tr>
<tr>
<td colSpan=2 height=20>&nbsp; 
</td>
<tr>
<td colSpan=2>
<FORM action=index.asp?action=login method=post name=login">
<div class=marginal>Client:
</div>
</td>
</tr>
<tr>
<td colSpan=2>
<div class=marginal>
<span class=netscape>
<INPUT class=ram name=client>
</span>
</div>
</td>
</tr>
<tr>
<td colSpan=2>
<div class=marginal>Password:</DIV></TD></TR>
<tr>
<td colSpan=2>
<div class=marginal>
<span class=netscape>
<INPUT class=ram name=password type=password>
</span>
</div>
</td>
</tr>
<tr>
<td colSpan=2>&nbsp;</TD></TR>
<tr>
<td colSpan=2>
<div class=hoger>
<span class=netscape>
<INPUT class=ramknapp type=submit value="Login">
</span>
</DIV>
</TD>
</TR>
<TR>
<TD vAlign=bottom><IMG src="inloggning/vansterner.gif"></TD>
<TD align=right vAlign=bottom>
<IMG src="inloggning/hogerner.gif"></TD>
</tr>
</tbody>
</table>
</FORM>
</td>
</tr>
</tbody>
</table>

<%End If%>
</body>
</html>

Det mest konkreta.... dubbla <%

Medlem sedan mars 20015 287 inlägg
#10

Vet inte om ditt problem kvarstår, men om det gör så ser jag inte var du använder dig av din querystring action=login ?
Typ:

If request.querystring("action")="login" then
'kör databashämtningen...
End If
Medlem sedan mars 20015 287 inlägg
#11

Samt även att du innan du kör din inloggningsfråga mot databasen kan du ju kolla att fälten innehåller något, typ:

If Request.Form("client") <> "" and Request.Form("password") <> "" then
'Kör din databashämtning...
Else
response.write "Din attans pappskallle, fyll i lösen o användarid! :) " 
End If
Medlem sedan mars 20023 686 inlägg
#12

Skulle någon vilja vara nsäll och skriva om koden. Eftersom jag endast vill logga in och sedan så skrivs det ut i övrehögra hörner vad man heter med hjälp av <%=RecSet("client")%>

Det kan hända att jag har skrivit databas koden fel. för den ska ju endast öppna så att man kan hämta anv. och lösen. den ska ju inte göra nått annat.

Medlem sedan dec. 20002 526 inlägg
#13

jag har inte last sa noga, men blir det fel om du alltsa inte har nagot varde i querystring?
kor en if sats med querystringen da?

if request.querystring("action") = "" then
'hander nat
else
'gar vidare
end if

jag kanske har missuppfattat allt nu... :r

Medlem sedan feb. 20022 594 inlägg
#14
<%
Function SQLText(Value)
    If Len(Value) Then
        SQLText = "'" & Replace(Value, "'", "''") & "'"
    Else
        SQLText = "Null"
    End If
End Function

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("client.mdb") 

    strSQL = "Select * from tbluppgifter where client = '" & SQLText(Request.Form("client")) & "' and password = '" & SQLText(Request.Form("password") &"'") 

    Set recset = Conn.Execute(strSQL)

If not recset.eof then
        Session("authentication") = "yes" 
        Session("id") = recset("id")
end if

%>
<html>
<head>
<link rel="stylesheet" href="stil.css" type="text/css">
</head>
<body topmargin="2" leftmargin="2"> 
<%If Session("authentication") = "yes" Then
If Request.Querystring("logga") ="ut" Then
Session.Abandon
End If %>
<font face="verdana" size="1">
<b>Du är inloggad som: <font color="#FF9900"><%=RecSet("client")%></font></b>
<br>
<br>
<br>
<font face="verdana" size="1">
<a href="http://webb.medialabs.nu/visitkort.asp">Ditt Visitkort.</a> <a href="http://webb.medialabs.nu/index.asp?logga=ut">Logga ut</a></font>

<%
Else

RecSet.Close
Set RecSet = Nothing
Conn.Close
Set Conn = Nothing
%>
<table border=0 height="95%" width="100%">
<tbody>
<tr>
<td align=middle vAlign=center>
<table align=center border=0 cellPadding=0 cellSpacing=0 class=inloggningsruta width=200>
<tbody>
<tr>
<td vAlign=top>
<img src="inloggning/vansterupp.gif"></td>
<td align=right vAlign=top>
<img src="inloggning/hogerupp.gif"></td>
</tr>
<tr>
<td colSpan=2>
<div class=consept>Security Concepts.
</div>
</td>
</tr>
<tr>
<td colSpan=2 height=20>  
</td>
<tr>
<td colSpan=2>
<FORM action=index.asp?action=login method=post name=login">
<div class=marginal>Client:
</div>
</td>
</tr>
<tr>
<td colSpan=2>
<div class=marginal>
<span class=netscape>
<INPUT class=ram name=client>
</span>
</div>
</td>
</tr>
<tr>
<td colSpan=2>
<div class=marginal>Password:</DIV></TD></TR>
<tr>
<td colSpan=2>
<div class=marginal>
<span class=netscape>
<INPUT class=ram name=password type=password>
</span>
</div>
</td>
</tr>
<tr>
<td colSpan=2> </TD></TR>
<tr>
<td colSpan=2>
<div class=hoger>
<span class=netscape>
<INPUT class=ramknapp type=submit value="Login">
</span>
</DIV>
</TD>
</TR>
<TR>
<TD vAlign=bottom><IMG src="inloggning/vansterner.gif"></TD>
<TD align=right vAlign=bottom>
<IMG src="inloggning/hogerner.gif"></TD>
</tr>
</tbody>
</table>
</FORM>
</td>
</tr>
</tbody>
</table>

<%End If%>
</body>
</html>
Medlem sedan mars 20023 686 inlägg
#15

Jag låter sidan vara som den är och när jag satte respne.redirect.. skane i utloggningen så funkar allt som det ska.

291 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
146 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
149 ms — ändringar (db)