Login script
Dette script har jeg fra Gruvsjo.com og som er meget tæt på hvad jeg ønsker. Men ikke helt.<%Response.Buffer = "True"
Session.lcid = 1053
Admin1 = "admin"
Admin2 = "admin"
db = Server.MapPath("db/databas.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
If Request.Querystring("losen") = "nej" Then
mess = "alert('Fel lösenord!');return true;"
End If
If Request.Querystring("anv") = "nej" Then
mess = "alert('Användaren finns inte!');return true;"
End If
If Request.Querystring("user") = "ja" Then
mess = "alert('Ny användare är nu tillagd!');return true;"
End If
If Request.Querystring("andrauser") = "ja" Then
mess = "alert('Användaren är nu ändrad!');return true;"
End If
If Request.Querystring("deluser") = "ja" Then
mess = "alert('Användaren är nu borttagen!');return true;"
End If
If Request.Querystring("busy") = "ja" Then
mess = "alert('Användarnamnet är upptaget!');return true;"
End If%>
<html>
<head>
<title>Login multi</title>
<link rel="stylesheet" href="stil.css" type="text/css">
<script src="js/js.js"></script>
</head>
<body bgcolor="#f0f0f0" OnLoad="<%=mess%>">
<%If Request.Querystring("visa")="" Then%>
<table width="400">
<tr>
<td colspan="2"><b>Logga in!</b></td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<form name="loggain" method="post" action="admin.asp?visa=check">
<tr>
<td>Anvnamn:</td><td><input type="text" name="admin1" size="35" value="<%=Request.Cookies("user") %>"></td>
</tr>
<tr>
<td>Lösenord:</td><td><input type="password" name="admin2" size="35"></td>
</tr>
<tr>
<td>Typ av inloggning:</td>
<td>
<select name="val" style="width:95">
<option value="admin">Admin
<option value="users">Användare
</select>
</td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td> </td><td><input type="submit" value="Logga in"></td>
</tr>
</form>
</table>
<%End If
'############################################################################################################
'-----------------------------------KOLLAR VILKEN SORTS INLOGGNING MAN ANVÄNT OCH SKICKAR DIG VIDARE----------------------------------------------
'############################################################################################################
If Request.Querystring("visa")="check" Then
If Request.Form("val") = "admin" Then
If Request.Form("admin1") = Admin1 AND Request.Form("admin2") = Admin2 Then
admin="ok"
Else
Response.Redirect "admin.asp?losen=nej"
End If
If admin="ok" Then
Session("admin") = "ok"
Session("user") = Request.Form("admin1")
Session.TimeOut = 40
Response.Redirect "admin.asp?visa=inne"
End If
ElseIf Request.Form("val") = "users" Then
Set RecSet=Conn.Execute("Select * From users where anvnamn='" & Request.Form("admin1") & "'")
Response.Cookies("user") = Request.Form("user")
If Not RecSet.EOF Then
If Request.Form("admin2") = RecSet("losen") Then
login="ok"
Else
Response.Redirect "admin.asp?losen=nej"
End If
Else
Response.Redirect "admin.asp?anv=nej"
End If
If login="ok" Then
Session("login") = "ok"
Session("user") = Request.Form("admin1")
Session.TimeOut = 40
Response.Redirect "admin.asp?visa=inne&user=" & Request.Form("admin1")
End If
End If
End If
'############################################################################################################
'-------------------INLOGGAD OCH HÄR KAN MAN LADDA UPP OCH LÄGGA TILL, ÄNDRA OCH TA BORT BILDER OCH ANVÄNDARE------------------------------
'############################################################################################################
If Request.Querystring("visa")= "inne" And Session("admin") = "ok" Then%>
<table width="400">
<tr>
<td><b><a href="admin.asp?visa=users">Användare</a> <a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
</tr>
<tr>
<td>Inloggad som admin</td>
</tr>
</table>
<%End If
If Request.Querystring("visa")= "inne" And Session("login") = "ok" Then%>
<table width="400">
<tr>
<td><b><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
</tr>
<tr>
<td>Inloggad som användare</td>
</tr>
</table>
<%End If
'############################################################################################################
'-------------------------------------------------HÄR KAN ÄNDRA ELLER TA BORT ANVÄNDARE-----------------------------------------------------------------
'############################################################################################################
If Request.Querystring("visa")= "users" And Session("admin") = "ok" Then
Set RS = Server.CreateObject("ADODB.Recordset")%>
<table width="400">
<tr><td colspan="3"><b><a href="admin.asp?visa=inne">Adminstart</a> <%If Session("admin") = "ok" Then%><a href="admin.asp?visa=adduser">Lägg till användare</a> <%End If%><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td></tr>
<tr><td colspan="3"><img src="bilder/dot1.gif"></td></tr>
<tr><td width='45%'><b>Användarnamn:</b></td><td align="center"><b>Inlagd:</b></td><td> </td></tr>
<tr><td colspan="3"><img src="bilder/dot1.gif"></td></tr>
<%Const perSida1 = 12
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
With RS
.CursorLocation = 3
.CacheSize = perSida1
End With
SQL = "Select * From users Order By datum DESC"
RS.Open SQL, Conn
If RS.EOF Then%>
<tr>
<td colspan="3">Inga användare inlagda.</td>
</tr>
<%Else
With RS
.MoveFirst
.PageSize = perSida1
.AbsolutePage = sida
End With
Sidor = RS.PageCount
X = 0
Do While Not RS.EOF And X < RS.PageSize
Response.Write "<tr><td><b>"%><%=RS("anvnamn")%><%Response.Write "</b></td><td align=center>" & FormatDateTime(RS("datum"),2) & "</td><td align=right>" & " <a href='admin.asp?visa=andrauser&id=" & RS("id") & "'><b>Ändra</b></a> "%> <a href="java script:Tabort('admin.asp?visa=deleteuser&id=<%=RS("id")%>')"><b>Ta bort</b></a></td></tr>
<%X = X + 1
RS.MoveNext
Loop
End If
RS.Close
Set RS = nothing
If Sidor > 1 Then%>
<tr><td colspan="3"><img src="bilder/dot1.gif"></td></tr>
<tr>
<td colspan="3">
<%If (Int(sida)) <> 1 Then%>
<a href="admin.asp?visa=users&sida=<%=(Int(sida)-1)%>"><b>«</b></a>
<%Else
End If
For Sid = 1 To Sidor
If (Int(Sid)) = (Int(sida)) Then Response.Write Sid Else Response.Write " <a href=admin.asp?visa=users&sida="& Sid &">" & Sid & "</a> " End If
Next
If (Int(sida)) <> (Int(Sidor)) AND X > 0 Then%>
<a href="admin.asp?visa=users&sida=<%=(Int(sida)+1)%>"><b>»</b></a>
<%Else
End If%>
</td>
</tr>
<%End If%>
</table>
<%End If
'############################################################################################################
'-------------------------------------------------HÄR KAN LÄGGA TILL ANVÄNDRARE---------------------------------------------------------------------------
'############################################################################################################
If Request.Querystring("visa")= "adduser" And Session("admin") = "ok" Then%>
<form action="admin.asp?visa=sparauser" method="POST" name="nyuser" onSubmit="return adduser()">
<table width="400">
<tr>
<td colspan="2"><b><a href="admin.asp?visa=inne">Adminstart</a> <%If Session("admin") = "ok" Then%><a href="admin.asp?visa=users">Användare</a> <%End If%><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td colspan="2"><b>Här kan du lägga till användare</b></td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td><b>Anvnamn:</b></td><td><input type="Text" name="anvnamn" size="35"></td>
</tr>
<tr>
<td><b>Lösenord:</b></td><td><input type="Text" name="losen" size="35"></td>
</tr>
<tr>
<td><b>Namn:</b></td><td><input type="Text" name="namn" size="35"></td>
</tr>
<tr>
<td><b>Email:</b></td><td><input type="Text" name="email" size="35"></td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" name="skicka" value="Lägg till användaren"></td>
</tr>
</table>
</form>
<%End If
'############################################################################################################
'-------------------------------------------------HÄR KAN ÄNDRA ANVÄNDARNAS INFO------------------------------------------------------------------------
'############################################################################################################
If Request.Querystring("visa")= "andrauser" And Session("admin") = "ok" Then
Set RecSet = Conn.Execute("Select * From users where id=" & Request.QueryString("id"))%>
<form action="admin.asp?visa=andratuser&id=<%=RecSet("id")%>" method="POST" name="andrauser" onSubmit="return changeuser()">
<table width="400">
<tr>
<td colspan="2"><b><a href="admin.asp?visa=inne">Adminstart</a> <%If Session("admin") = "ok" Then%><a href="admin.asp?visa=users">Användare</a> <%End If%><a href="java script:Logut('admin.asp?visa=logut')">Logga ut</a></b></td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td colspan="2"><b>Här ändrar du info om en användare!</b></td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td><b>Anvnamn:</b></td><td><input type="Text" name="anvnamn" size="35" value="<%=RecSet("anvnamn")%>" disabled></td>
</tr>
<tr>
<td><b>Lösenord:</b></td><td><input type="Text" name="losen" size="35" value="<%=RecSet("losen")%>"></td>
</tr>
<tr>
<td><b>Namn:</b></td><td><input type="Text" name="namn" size="35" value="<%=RecSet("namn")%>"></td>
</tr>
<tr>
<td><b>Email:</b></td><td><input type="Text" name="email" size="35" value="<%=RecSet("email")%>"></td>
</tr>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" name="skicka" value="Ändra användaren"></td>
</tr>
</table>
</form>
<%End If
'############################################################################################################
'-------------------------------------------------HÄR SPARAS ANVÄNDAREN TILL DATABASEN------------------------------------------------------------------
'############################################################################################################
If Request.Querystring("visa")= "sparauser" And Session("admin") = "ok" Then
Set RS=Conn.Execute("Select * From users")
Do Until RS.EOF
If Request.Form("anvnamn") = RS("anvnamn") Then
Response.Redirect "admin.asp?visa=users&busy=ja"
End If
RS.MoveNext
Loop
RS.Close
Namn = Request.Form("namn")
Email = Request.Form("email")
Anvnamn = Request.Form("anvnamn")
Losen = Request.Form("losen")
Conn.Execute("Insert Into users(Namn, Email, Anvnamn, Losen) Values('"& Namn &"','"& Email &"','"& Anvnamn &"','"& Losen &"')")
Response.Redirect "admin.asp?visa=users&user=ja"
End If
'############################################################################################################
'-------------------------------------------------HÄR UPPDATERAS ANVÄNDARENS INFO-----------------------------------------------------------------------
'############################################################################################################
If Request.QueryString("visa") = "andratuser" And Session("admin") = "ok" Then
Namn = Request.Form("namn")
Email = Request.Form("email")
Losen = Request.Form("losen")
Conn.Execute("Update users Set Namn='" & Namn & "',Email= '" & Email & "',Losen='" & Losen & "' Where id=" & Request.QueryString("id"))
Response.Redirect "admin.asp?visa=users&andrauser=ja"
End If
'############################################################################################################
'-------------------------------------------------HÄR RADERAS ANVÄNDAREN----------------------------------------------------------------------------------
'############################################################################################################
If Request.QueryString("visa") = "deleteuser" And Session("admin") = "ok" Then
Conn.Execute("Delete From Users Where id = " & Request.QueryString("id"))
Response.Redirect "admin.asp?visa=users&deluser=ja"
End If
'############################################################################################################
'-------------------------------------------------LOGGA UTFRÅN ADMINSIDAN---------------------------------------------------------------------------------
'############################################################################################################
If Request.QueryString("visa") = "logut" Then
Session.Abandon
Response.Redirect "admin.asp"
End If%>
</body>
</html>
For det første ønsker jeg admin modulet skilt ud i egen fil således dette tilgås via et subdomæne:
http://admin-mitdomain.com
Men select funktionen bibeholdt således, at der oprettes en db med poster "felt" og "link".
<form name="logInd" method="post" action="cv.asp?visa=check">
Navn: <input type="text" name="admin1" size="35">
Adgangskode:<input type="password" name="admin2" size="35">
Område:
<select name="val" style="width:95">
<option value="admin">Admin
<option value="bruger">Bruger
<select name="omraadet" style="width: 150">
<% SQL = "Select * From felt order by omraadeNavn "
RS.Open SQL, Conn
Do While Not RS.EOF
Response.Write%><option><%=RS("omraadeNavn")%> </option>
<%RS.MoveNext
Loop
%>
<%End if
%>
</select>
<input type="submit" value="Log ind">
</form>
Kaldet bliver derfor noget i retning af:
Set RecSet=Conn.Execute("Select * From users where users.anvnamn='" & Request.Form("admin1") & "' AND users.losen= '"& Request.Form("admin2") & "' AND users.omraade= '"& Request.Form("omraadeNavn")& "'")
og ender op med:
Response.Redirect rs1("link")
Hvor link er en post med URL til siden brugeren redirevtes til.
Egentlig kan jeg godt få det til at virke med dette:
<%Response.Buffer = "True"
Session.lcid = 1053
db = Server.MapPath("/Data/databas.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
If Request.Querystring("anv") = "nej" Then
mess = "alert('Forkert adgangskode!');return true;"
End If
If Request.Querystring("bruger") = "nej" Then
mess = "alert('Forkert navn!');return true;"
End If
If Request.Querystring("omraadet") = "nej" Then
mess = "alert('Du har ikke rettigheder til at logge ind på dette område!');return true;"
End If
%>
<html>
<head>
<title></title>
<link rel="stylesheet" href="style1.css" type="text/css">
<script src="js/js.js"></script>
</head>
<body OnLoad="<%=mess%>">
<%If Request.Querystring("visa")="" Then%>
<table width="630" border="1" align="center" cellpadding="12">
<tr>
<form name="logInd" method="post" >
<tr>
<td>Navn:</td><td><input type="text" name="admin1" size="35">
</td>
</tr>
<tr>
<td>Adgangskode:</td><td><input type="password" name="admin2" size="35">
</td>
</tr>
<tr>
<td>Område:
</td>
<td>
<select name="omraadet" style="width: 150">
<%
SQL = "Select * From felt order by omraadeNavn "
RS.Open SQL, Conn
Do While Not RS.EOF
Response.Write "<b>"%><option><%=RS("omraadeNavn")%> </option> </b>
<% RS.MoveNext
Loop
%>
<% End if
%>
</select>
</td>
</tr>
<tr>
<td> </td><td><input type="submit" omraadet="Log ind">
</td>
</tr>
</form>
</td>
</td>
</tr>
</table>
<%
Set RecSet=Conn.Execute("Select * From users where users.anvnamn='" & Request.Form("admin1") & "' AND users.losen= '"& Request.Form("admin2") & "' AND users.omraade= '"& Request.Form("omraadet")& "'")
' Response.Cookies("user") = Request.Form("user")
If Not RecSet.EOF Then
If Request.Form("admin1") = RecSet("anvNamn") Then
login="ok"
Else
Response.Redirect "fejl.asp?anv=nej"
End If
If Not RecSet.EOF Then
If Request.Form("admin2") = RecSet("losen") Then
login="ok"
Else
Response.Redirect "cv.asp?adKode=nej"
End If
If Not RecSet.EOF Then
If Request.Form("omraadet") = RecSet("omraade") Then
login="ok"
Else
Response.Redirect "cv.asp?omraadet=nej"
End If
If login="ok" Then
Session("login") = "ok"
SQL = "Select * From users where omraade='" & Request.Form("omraadet") & "' AND anvnamn='" & Request.Form("admin1") & "'"
set rs1 = conn.execute(SQL)
if not rs1.eof Then
Response.Redirect rs1("link")
'Response.Write rs1("<a href='" & link &"', '" & target & "'></a>")
'response.write "<a href=" & rs1("link")&",target=" &rs1("target")&"></a>"
end if
End if
End If
End if
End If
%>
</body>
</html>
Det er altså et script med en db (.mdb).
Brugeren skal vælge et område i selectboksen.
Skrive brugernavn og adgangskode og bliver redirectet til den side brugeren må anvende vi posten link.
Men alert popup virker dog ikke og hvad cockies og <%Response.Buffer = "True"
Session.lcid = 1053 betyder ved jeg heller ikke noget om.
Så om det efter mine indgreb vil være et ”sikkert script” kan jeg ikke gennemskue.
Men vil meget gerne have hjælp til at lave det.
