Låt mig gissa; webStudio på IDG.se, va? ;)
Dela upp inloggning, uppdatering och addering av data på separata sidor istället för att skilja på dem med en querystring, som du gör nu. Då slipper du problem om någon laddar om sidan, och får även en mer strukturerad applikation/kod. Alltså; en sida för inloggning, en för uppdatering av data, en för radering osv.
Jag delar upp dem i tre olika delar. Först inloggning:
<%
username = Request.Form("username")
password = Request.Form("password")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")
SQL = "SELECT * FROM members Where username = '"& replace(username,"'","''") &"' AND password = '"& replace(password,"'","''") &"'"
set rs = connect.execute(SQL)
If not Recset.eof Then
session("inloggad") = "ja"
set rs = nothing
set conn = nothing
[red] response.redirect "nan_sida.asp"[/red]
Else
set rs = nothing
set conn = nothing
response.redirect "default.asp?action=fel"
End If
%>
För att visa data:
<% If Session("inloggad") = "ja" Then %>
<font size=1>
Inloggad
</td></tr><tr><td valign=top bgcolor=white width=200>
<font size=1>
<b>Medlemmar:</b><br><br>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")
[blue]'detta ändrar jag inte, eftersom du använder recordcount längre ner, execute funkar inte då. [/blue]
[red]Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM members ORDER BY username"
RecSet.Open Addera, Conn, 3, 3
Count = RecSet.Recordcount [/red]
Do Until RecSet.EOF
%>
<b>Namn:</b> <%=RecSet("username")%><br>
<b>Master:</b> <%=RecSet("Master")%><br><br>
<%
RecSet.MoveNext
loop
%>
Antal Medlemmar: <%=Count%>
</font>
</td><td valign=top bgcolor=white width=200>
<font size=1>
<%
set recset = nothing
set conn = nothing
end if
%>
Kod för att uppdatera, formuläret skall du ha på en annan sida, så jag tog bort det. :)
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")
SQL = "INSERT INTO nyheter (nyhet,rubrik,skribent,datum) VALUES ('" & request.form("nyhet") & "','" & request.form("rubrik") & "','" & request.form("skribent") & "',#" & now & "#)"
connect.execute(SQL),,128
set rs = nothing
set connect = nothing
Response.Write "Postat och klart"
%>
